【问题标题】:No column information was returned by the SQL command. SSDTSQL 命令未返回任何列信息。固态硬盘
【发布时间】:2018-01-11 23:22:45
【问题描述】:

我正在尝试在 SSDT 中创建更新查询。我来了

无法解析查询文本。

查询是:

UPDATE CustOrderWithDisp
SET YARDS = CustOrderWithDisp.QUANTITY * Lkp_TestCodes.[Test_GALS] * 0.00495113
FROM CustOrderWithDisp
INNER JOIN Lkp_TestCodes
ON CustOrderWithDisp.TEST_CODE = Lkp_TestCodes.[SVC CODE]

但如果我真的运行查询,它就可以工作。

我想在 SSIS 包中使用此查询。当我将此查询放入 OLEDB 源时,我得到...

组件报告了以下警告:

qry03_CalculateYards [OLE DB 源 [33]] 出错:SQL 命令未返回列信息。

我是这方面的新手,所以要温柔。非常感谢您的帮助!

【问题讨论】:

  • 您为什么要尝试使用 UPDATE 命令作为 OLEDB 源?你想做什么?
  • 我只是想学习这个程序,绝对没有教程。在飞行中学习。但我知道哈迪的回答有什么问题。

标签: sql-server ssis etl sql-server-data-tools ssis-2017


【解决方案1】:

qry03_CalculateYards [OLE DB 源 [33]] 处出错:SQL 命令未返回列信息。

您收到此消息是因为OLEDB SourceDataFlow Task 组件,它用于通过OLEDB 连接从表或SQL 命令中读取数据。

OLE DB 源使用数据库表、视图或 SQL 命令从各种符合 OLE DB 的关系数据库中提取数据。例如,OLE DB 源可以从 Microsoft Office Access 或 SQL Server 数据库中的表中提取数据。

您不必将此查询放入OLEDB Source您必须使用Execute SQL Task 并将此查询写入SQL Command 属性。

对于更新查询,您必须使用Execute SQL Task (在控制流级别,在数据流中没有)

执行 SQL 任务从包中运行 SQL 语句或存储过程。该任务可以包含单个 SQL 语句或多个顺序运行的 SQL 语句。

参考文献

【讨论】:

    猜你喜欢
    • 2014-04-27
    • 2015-05-14
    • 2014-01-11
    • 2011-07-25
    • 2017-12-12
    • 2023-01-25
    • 2018-06-01
    • 1970-01-01
    相关资源
    最近更新 更多