1

ProductValue と SQLQuery という 2 つの変数を SSIS で作成しました。SQLQuery には、次のような sql ステートメントが含まれています。

"SELECT * FROM Products Where ProductID > " + @[user::ProductValue]

data access mode = sql command from variableを介して SQLQuery 変数を Ole db ソースに渡すと、システムは次のようなエラー メッセージを返します。

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 '+'.".
4

3 に答える 3

4

SQL クエリ変数を Eva​​luateAsExpression に設定する必要があります。

変数グリッドで SQL クエリ変数の値を確認すると、次のように表示されます。

SELECT * FROM Products Where ProductID > 1

そうでない場合は、変数が正しく定義されていません。SQL クエリ変数の値には、引用符や + を含めないでください。この場合、式のみを含める必要があります。

于 2013-06-12T17:55:25.457 に答える