我试图在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命令没有返回列信息。
我是新手,所以要温柔。非常感谢您的帮助!
答案 0 :(得分:1)
qry03_CalculateYards出错[OLE DB Source [33]]:SQL命令没有返回列信息。
您收到此消息是因为OLEDB Source
是DataFlow 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语句。
<强>参考强>