SQL命令未返回任何列信息。 SSDT

问题描述 投票:1回答:1

我正在尝试在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 Source [33]]:SQL命令没有返回列信息。

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

sql-server ssis etl sql-server-data-tools ssis-2017
1个回答
1
投票

qry03_CalculateYards出错[OLE DB Source [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属性中编写此查询。

对于UPDATE查询,您必须使用Execute SQL Task(在控制流级别,在DataFlow中为否)

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

参考

© www.soinside.com 2019 - 2024. All rights reserved.