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

标签 stored-procedures ssis task executequery

我正在处理现有的 SSIS 包以向其中添加自定义日志记录。我正在尝试对其进行测试,但我有一个不是我创建的执行 SQL 任务,但出现以下错误。

执行查询

"ap_pfl_DropProfileTables"



失败,出现以下错误:

"Could not find stored procedure 'ap_pfl_DropProfileTables'.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.



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

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

    最佳答案

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

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

    关于stored-procedures - SSIS 执行 SQL 查询任务找不到存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14778184/

    相关文章:

    MySQL - 更新和插入过程中最后一个选择的输出

    sql-server-2008 - SQLServer 对象 'name' 的定义自编译后发生了变化

    sql - 如何通过批处理将SQL存储过程保存到.sql文件

    sql-server - SSIS - 竖线与逗号分隔

    sql-server - 从 JAMS Scheduler 设置 SSIS 变量

    c# - 带有 ContinueWith 的 TaskCanceledException

    c# - 任务同步的正确方法?

    sql - 如何在 SQL Server Express 中安排脚本(无需 SQL Server 代理)?

    c# - 返回类型为 Task<Dictionary<string, string>> 的任务

    python - 将多个表数据从 SQL Server 迁移到 Oracle