2011-11-09 16 views
2

I持ってSSISの私のSQL実行タスクで次のINSERT文:私はそれがうまく実行され、テーブルにレコードを挿入パラメータを提供するタスクの中にそれを実行SSIS SQL実行タスクのSQLコマンドを発行し

INSERT INTO dbo.SSISLogTest 
    (NodeID, BusinessDate, StartDate, StopDate, StepName, RecordCount, Message, Status, UserID) 
VALUES  (?,?,?,?,?,?,?,?,?) 

私はパッケージを実行すると、このステップは、次のエラーで失敗します。

"[Execute SQL Task] Error: Executing the query "INSERT INTO dbo.SSISLogTest ..." failed with the following error: "Parameter name is unrecognized.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly. "

+1

私はあなたがSSISに正しくパラメータを設定していないと思います。あなたはどのようにそれをやったの詳細を教えてください?変数を介してパラメータをパッケージに渡すことは、SSISでは控え目であり、特定の方法で実行されないとエラーが発生する可能性があります。 – mwan

答えて

9

異なる接続プロバイダが異なる構文を必要とする - 次のすべてが正しく設定されている必要があります

  • 接続タイプを(つまり、OLE DB、ADO ...)あなたの選択は、アプリケーション全体で同じものを使用することを目指します。
  • 「パラメータマッピング」ダイアログのパラメータの数と詳細(変数名、方向、データタイプ、パラメータ名、パラメータサイズ)。
  • SQLクエリのパラメータの構文(つまり、あなたの疑問符。)

下のスクリーンショットでOLEDBの例を参照し、詳細についてはWorking with Parameters and Return Codes in the Execute SQL Taskを参照してください。

enter image description here

Execute SQL Task - General

enter image description here

+0

私の場合は、序文を提供するのではなく、実際に名前を付けたことが原因でした。スクリーンショットをありがとう:-) – user1036833

+4

"[SQL]標準の良い点は、たくさんの選択肢があることです" :-) –

関連する問題