我有一个脚本任务,我更改了数据库的连接字符串,但是,它缺少一个重要的信息,它是运行包本身的服务器.
有没有办法从ac#script中检索服务器的名称?
我知道在sql我可以选择@@ servername,但我需要包来检查它运行的服务器的名称(dtsx)不是sql server.
我知道这是一个奇怪的请求,但有很多选择,这里是我正在研究的那些:
+Through A Batch CMD whose results i could store in a pkg level variable
+Through a c# script
+SQL if it is possible
Run Code Online (Sandbox Code Playgroud)
任何其他人都知道的方式将不胜感激.
编辑/更新:我发现了几种方法:
C#: public string host = System.Environment.MachineName.ToString();
cmd: hostname ...-->then store in pkg variable
Run Code Online (Sandbox Code Playgroud)
虽然您可以使用.NET获取服务器名称,但传统的SSIS方式是使用预先存在的"System :: MachineName"包变量(另外,请注意您可能必须单击"显示系统变量"按钮在包变量窗口中看到它.)假设SSIS 2008和C#(2005/VB提供相同的变量):
1)将变量名称"System :: MachineName"(不带引号)添加到脚本任务编辑器ReadOnlyVariables属性
2)在脚本内部,您可以像这样访问变量:
Dts.Variables["System::MachineName"].Value.ToString()
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你.克里斯蒂安
| 归档时间: |
|
| 查看次数: |
8903 次 |
| 最近记录: |