我在SSIS软件包中设置了一个平面文件连接管理器,该软件包每天进行数据导入。我想设置一个脚本任务/对象,以检查以确保该连接管理器的ConnectionString属性设置为某种值。想知道这是否可能!谢谢。
答案 0 :(得分:0)
我不确定为什么要这样做,但是您将需要创建一个变量,该变量用于填充连接管理器的ConnectionString属性。从那里,您可以访问脚本任务中的package变量以执行所需的任何检查。不过,据我所知,在脚本任务中无法通过C#直接利用SSIS任务/组件属性。
答案 1 :(得分:0)
您可以做的是将连接字符串存储在variable
中,在这里将其称为 ConnectionToSomeServer 。
在连接管理器中选择连接,然后在属性中通过单击[...]
打开表达式。
您可以在此处将ConnectionString
设置为定义的变量。
在脚本任务中,您可以访问包含连接字符串的变量,如下所示:
var connectionString = (string) Dts.Variables["ConnectionToSomeServer"].Value;
现在,您可以在脚本任务中检查连接是否有效:
using (SqlConnection connection = new SqlConnection(connectionString))
{
try
{
connection.Open();
// connection is valid
}
catch (SqlException)
{
// connection is not valid
Dts.TaskResult = (int)ScriptResults.Failure;
return;
}
}
您还可以在Project.params
中管理连接,它的优点是可以使用Environments
进行配置,并将 ConnectionToSomeServer 变量的值引用到项目参数中。 / p>
答案 2 :(得分:0)
您只需在脚本任务中使用Dts
命名空间即可从Dts.Connections`属性访问连接管理器:
string myFlatFileConnection =
Dts.Connections["Test Flat File Connection"].AcquireConnection(Dts.Transaction) ;
请注意,连接管理器名称区分大小写
参考