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 に設定し、OLEDB Source プロパティでvalidatemetadata
toを設定しました。false
SQL 変数を間違えたような気がします。ここで何か助けていただければ幸いです。