2017-10-16 33 views
0

我试过现有的文章,没有答案帮我解决了这个问题。添加一段代码。在下面的代码中,Dts.Transaction为空,因此为sqlConn。我的SSIS脚本任务中的Dts.Transaction为空

SqlConnection sqlConn; 
sqlConn = (SqlConnection)(Dts.Connections["connectionManager"].AcquireConnection(Dts.Transaction) as SqlConnection); 
sqlConn.Open(); 

我有一个SQL Task,它向Script Task返回记录列表。我正尝试使用连接管理器建立连接。不知道什么是错的。它是ADO.net连接管理器。

请不要将此问题标记为重复,因为现有线程 没有帮助我。

回答

0

我测试了这一点,虽然Dts.Transactionnull,以下为我工作(也注意到,而不是打开/关闭连接,您使用的采集/释放):

SqlConnection sqlConn = (SqlConnection)Dts.Connections["connectionManager"].AcquireConnection(Dts.Transaction); 

... 

Dts.Connections["connectionManager"].ReleaseConnection(sqlConn); 
+0

我得到的是低错误。 Message =“关键字不被支持:'provider'。”连接管理器是ADO.net连接。我认为这是问题。但不知道如何从中建立sql连接。另一个选择是更改连接管理器(我想避免) – HappyDeveloper

+0

您可以发布连接字符串吗? –

+0

连接字符串来自连接管理器,它看起来像这样。 Data Source = local; Initial Catalog = CatalogName; Provider = SQLNCLI11.1; Integrated Security = SSPI; Auto Translate = False; – HappyDeveloper

0

在这里,这为我工作:

SqlConnection sqlCon = new SqlConnection(); 
sqlCon = (SqlConnection)Dts.Connections["DMP"].AcquireConnection(Dts.Transaction) as SqlConnection);