繁体   English   中英

SqlConnectionStringBuilder 在 SSIS 包中失败

[英]SqlConnectionStringBuilder Failing within SSIS package

我在生产中有几个 SSIS 包,它们使用 SqlConnectionStringBuilder 连接到 SQL Server 数据库。 这些包在大约 10 天前运行良好,我们没有对 Prod 进行任何更改。 然后,突然之间,包开始失败,错误是

连接字符串格式无效。 它必须由一个或多个由分号分隔的 x=y 形式的组件组成。

当我尝试调试脚本任务时,脚本任务总是在以下情况下失败:

string connstring = Dts.Variables["User::Static"].GetSensitiveValue().ToString();
//MessageBox.Show(connstring);
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(connstring);
builder.ConnectTimeout = 1800;

从错误消息看来,我传递了一个空白的连接字符串,但事实并非如此。 我已将连接字符串硬编码为静态变量,以便它不会动态构建(显然是为了测试和解析目的)。

这种方法有什么替代方法,我还能做些什么来解决这个问题? 任何帮助表示赞赏。

编辑:

进一步挖掘后,我到了它试图在数据库上执行存储过程的地步。

SqlCommand command = new SqlCommand("[dbo].[GetdataALL]", sqlConn);
                    command.CommandTimeout = 1800;
                    command.CommandType = CommandType.StoredProcedure;
                    command.Parameters.AddWithValue("@Columns1", Dts.Variables["User::Columns"].Value.ToString());
                    command.Parameters.AddWithValue("@Where_ID", Dts.Variables["User::WhereID"].Value.ToString());
                    command.ExecuteNonQuery();

失败的可能原因是什么? 谢谢你。

您是否仅在调试时收到此错误? 如果是这样,您需要将保护级别更改为 EncryptSensitiveWithPassword。 检查 HodgyHodson 的回答。

参考这个链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM