SSIS执行SQL查询任务找不到存储过程

nle*_*r18 5 ssis stored-procedures task executequery

我正在开发一个现有的 SSIS 包来向其中添加自定义日志记录。我正在尝试测试它,但我有一个未创建的执行 SQL 任务,但出现以下错误。

执行查询

“ap_pfl_DropProfileTables”

失败并出现以下错误:

“找不到存储过程'ap_pfl_DropProfileTables'。”。可能的失败原因:查询问题、“ResultSet”属性设置不正确、参数设置不正确或连接未正确建立。

我不知道为什么会收到此错误,因为:

  1. 我没有创建它或更改它,并且该包在生产中运行时没有错误。
  2. 存储过程只是截断两个表。它没有结果集或参数。
  3. 连接工作正常,因为此存储过程与运行数据流任务的另一个线程同时运行,该任务成功运行并使用此包中仅有的两个连接。
  4. 我已经对数据库进行了两次和三次检查,以确保存储过程存在并且拼写正确。我什至检查了存储过程中字母的大小写。

有想法该怎么解决这个吗?

小智 3

是的,这令人沮丧 - 但可行。关键是不要使用 ADO.NET 连接管理器,而是使用良好的老式 ADO 连接管理器。第二个关键是不要在执行 SQL 任务编辑器的 SQLStatement 属性中使用 EXEC 或 EXECUTE。只需输入存储过程的名称(为了更好地衡量,请使用由三部分组成的名称约定database.schema.storedprocedure。)

我还没有在存储过程中尝试使用参数。另外,我还没有尝试过使用 OLE DB 连接管理器。