テーブルを反復処理するSSISパッケージがあり、テーブルの各行について、2つの異なる列の値をパラメーターとしてストアドプロシージャに渡します。少なくとも、それはそれがすることになっていることです。それが実際に行うことは、私にこのエラーを与えることです:
[Execute SQL Task] Error: Executing the query "EXEC sproc_AccessImport @mAccessLocation (SELECT M..." failed with the following error: "Must declare the scalar variable "@mAccessLocation".". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
情報を取得する部分を作成するためにこのチュートリアルに従いました。ストアドプロシージャを実行するためのコードは次のとおりです。
EXEC sproc_AccessImport @mAccessLocation (SELECT MVID FROM tbl_AccessMailDataFiles WHERE FileLocation = @mAccessLocation)
私はオンラインで探し回っていますが、有用なものは何も見つかりませんでした。SSISを使用したのはこれが初めてなので、単に何か間違ったことをしているのではないかと思います。誰かがそれが正確に何であるか知っていますか?ありがとう。
編集:オプションを使用して、変数をパラメーターとしてマッピングしてみました:
Variable Name: User::mAccessLocation
Direction: Input
Data Type: VARCHAR
Parameter Name: Path
Parameter Size: 200
そして、SQLクエリを次のように変更しました。
EXEC sproc_AccessImport @Path (SELECT MVID FROM tbl_AccessMailDataFiles WHERE FileLocation = @Path)
エラーが発生しました:
[Execute SQL Task] Error: Executing the query "EXEC sproc_AccessImport @Path (SELECT MVID FROM tb..." failed with the following error: "Must declare the scalar variable "@Path".". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
だから、本当に、同じエラー。