将SSIS作业的SQL Server名称传递给包变量

时间:2015-09-03 17:27:00

标签: sql-server configuration ssis package

我试图想出一种方法,我可以将运行SSIS作业的SQL服务器名称传递给包中​​的变量。

基本上,运行此Job的服务器将被传递到包中的Ole DB Connection中的ServerName属性,以便将数据加载到该服务器中。

我一直在查看有关包配置的文档,我觉得它会在环境变量部分。但是,我不认为任何列出的"环境变量"是服务器名称。我已经用Google搜索了这个问题,并在StackOverflow上搜索了问题,但我似乎无法找到这个问题。

2 个答案:

答案 0 :(得分:0)

可能有一些不同的方法,但我认为您可以通过一个简单的执行SQL任务来实现这一目标。

  1. 创建新的执行SQL任务

  2. 一般情况下 - > SQL语句,在" SQLStatement"中输入您的查询Select @@SERVERNAME as ServerName。字段

  3. 一般情况下 - >结果集,选择"单行"

  4. 在参数映射下,输入您的变量(如果您没有,则创建一个)变量名称中的User :: ServerName,"输入"作为方向,0作为参数名称,-1作为参数大小

  5. 在结果集下,输入" ServerName"为您的结果名称并在变量名称

  6. 中键入变量
  7. 点击确定

  8. 给它一个去看看它是否能达到你想要的效果。

答案 1 :(得分:0)

我能够通过使用脚本任务和C#代码来获取机器名称或运行它的机器的IP地址。

Dts.Variables [" User :: ServerName"]。Value = System.Net.Dns.GetHostName();