SQL 命令未返回列信息。 SSDT

No column information was returned by the SQL command. SSDT

我正在尝试在 SSDT 中创建更新查询。我得到

Unable to parse query text.

查询是:

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 源时,我得到...

该组件报告了以下警告:

Error at qry03_CalculateYards [OLE DB Source [33]]: No column information was returned by the SQL command.

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

Error at qry03_CalculateYards [OLE DB Source [33]]: No column information was returned by the SQL command.

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

The OLE DB source extracts data from a variety of OLE DB-compliant relational databases by using a database table, a view, or an SQL command. For example, the OLE DB source can extract data from tables in Microsoft Office Access or SQL Server databases.

您不必将此查询放在 OLEDB Source 中,您必须使用 Execute SQL Task 并将此查询写在 SQL Command 属性.

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

The Execute SQL task runs SQL statements or stored procedures from a package. The task can contain either a single SQL statement or multiple SQL statements that run sequentially.

参考资料