我正在尝试使用 SSIS 构建动态导出。
我设置了一个变量TableName
-string 并将其范围限定为包。我设置了一个 sql 任务来查找我想要的表名并将结果集映射到上面的变量。(这个任务完成得很好)
然后我添加了另一个变量作为SQL("SELECT * FROM [CRDATA].[dbo]."+@[User::TableName])
-string 并限定到包并设置数据流任务。在数据流内部,我添加了一个 OLEDB 源并将输入设置为 SQL 变量并选择了上述变量。此任务失败。错误是:
Error at Data Flow Task [OLE DB Source [1]]: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E14.
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0
Hresult: 0x80040E14 Description: "Statement(s) could not be prepared..
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0
Hresult: 0x80040E14 Description: "Incorrect syntax near '+'..
------------------------------
ADDITIONAL INFORMATION:
Exception from HRESULT: 0xC0202009 (Microsoft.SqlServer.DTSPipelineWrap)
我已在 sql 任务、数据流上将延迟验证设置为 true,并validatemetadata
在false
OLEDB Source 属性中设置为。
我感觉我在 SQL 变量中犯了一些错误。非常感谢这里的任何帮助。