SSIS包在IDE中工作,但在部署后不工作

时间:2015-02-05 01:07:57

标签: sql-server vb.net visual-studio-2012 ssis

因此,当我在Visual Studio Integration 2012中启动时,我有这个SSIS包可以完美运行。但是,当我通过SQL目录部署此包时,它既不起作用也不会中断。它只运行没有输出。

我不知道为什么会这样。我的包很简单。

  1. 查询数据库表
  2. 使用本地变量
  3. 将数据放入Recordset Destination
  4. 将局部变量与一些项目参数一起传递到嵌入序列>的脚本中。 foreach容器。然后,该脚本根据脚本中的逻辑使用新值更新相同的db表,并使用从查询中提取的数据发送电子邮件。
  5. 我知道我在#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中运行良好但在部署时却不行。更令人沮丧的是没有失败,它只是运行并且没有输出(即没有发送表更新或电子邮件)。

    是否有任何调试已部署包的技术?

0 个答案:

没有答案