【发布时间】:2021-06-08 08:28:35
【问题描述】:
我有一个带有脚本任务的集成服务项目。脚本任务代码是用 C# 编写的。
我在代码的不同位置设置了一些断点,一个在开头。断点一般都在工作,当我开始调试 SSIS 项目时,VSTA Windows 会打开并且执行会在第一个断点处停止(应该如此)。
我现在尝试添加 SSIS 包的执行,如下所述:
我从以下开始:
string folderName = "FUNDAMENTAL";
string projectName = "1001_IMPORT_ENTSOE_XML";
string packageNameSSIS = "1001_IMPORT_ENTSOE_XML.dtsx";
string sqlConnectionString = "Data Source=SERVER; Initial Catalog=master; Integrated Security = SSPI;";
SqlConnection sqlConnection = new SqlConnection(sqlConnectionString);
断点仍在工作。
但是,当我添加下一行代码时,所有断点都被忽略并且 VSTA 窗口不会打开。相反,代码会一直运行到成功结束。
IntegrationServices integrationServices = new IntegrationServices(sqlConnection);
为什么?
【问题讨论】:
-
在最近的 VS 2019 更新中修复了一个类似的错误。您使用哪个版本,它是最新的吗?
-
调试脚本任务/脚本组件确实是一个痛苦的...。这是因为许多版本。但是,我通常会添加一些 FireInformation 或 FireWarning 行——这有助于极大地调试这些对象。
-
SSIS C# 调试器问题可以追溯到很多年前,原因很多。您是否尝试过这里的答案:stackoverflow.com/q/41470415 - ?
-
如果大多数时候它有任何复杂性,我首先将我的 C# 脚本任务编写为控制台应用程序,超级容易编辑、测试和调试。然后一旦一切都好,我将它转移到 C# 脚本任务(很多时候,从控制台到脚本任务需要一些调整,尤其是变量传递。似乎需要更多的工作,但更容易测试/调试。有时它不可行但有效大多数时候。
标签: c# sql sql-server ssis vsta