因此,当我在Visual Studio Integration 2012中启动时,我有这个SSIS包可以完美运行。但是,当我通过SQL目录部署此包时,它既不起作用也不会中断。它只运行没有输出。
我不知道为什么会这样。我的包很简单。
Recordset Destination
我知道我在#1中的查询正在运行。我可以通过我的作业执行报告看到它......它在DB表的所有行中写入。然后它只是坐在我的脚本中,上帝知道什么......所以我猜测因为它不是我的查询它必须是项目参数/连接之一(我使用环境设置)。这是我的语法。你觉得他们有什么不对吗?请忽略我遗漏的代码,因为我确信它没有在那里打破。此外,我100%肯定我正在我的环境中正确设置值,并且它们已在包中正确分配。
这是我的相关代码片段(不介意顺序):
Dim oleDA As New OleDbDataAdapter
oleDA.Fill(dt, Dts.Variables("User::CustomerRows").Value)
ScriptMain.Wrapper = New ET_AutoRenewal.WrapperClass(Dts.Variables("$Project::etUserName").Value.ToString(), Dts.Variables("$Project::etPassword").Value.ToString())
Dim cm As ConnectionManager = Dts.Connections("test")
Dim sqlConn As SqlClient.SqlConnection
Dim sqlCmdText As String
sqlConn = DirectCast(Dts.Connections("test").AcquireConnection(Dts.Transaction), SqlClient.SqlConnection)
sqlCmdText = "UPDATE [" + Dts.Variables("$Project::sDatabaseName").Value.ToString() + "].[dbo].[temp_AutoRenewal_listpull] SET [process_flag] = 1 WHERE [confirmation_num] = '" + xmlDict.Item("confirmation_num") + "'"
所以,如果一切看起来都不错,那对我来说就是这样。怎么会发生这种情况,它在VS中运行良好但在部署时却不行。更令人沮丧的是没有失败,它只是运行并且没有输出(即没有发送表更新或电子邮件)。
是否有任何调试已部署包的技术?