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 源 [33]] 处出错:SQL 命令未返回列信息。

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

4

1 回答 1

1

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

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

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

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

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

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

参考

于 2018-01-12T00:06:29.853 回答