2013-07-22 11 views
5

私は、通常のテストフォーマットの名前のリストをすべて1行で返す単純なストアドプロシージャを呼び出そうとしています。 2つのパラメータを渡していますが、OLE DBソースエディタ内で、またはSQL実行タスク内でどのように呼び出しを設定しても問題ありません。 私のSQL文には何かがあるに違いありません。b/c私はエラーが発生し続けます。私は渡しているパラメータは、それらが、ストアドプロシージャ内で事前に定義された変数にマッピングされ@IDType@IDNumberを、宣言されているとおりに記載されていますSSISストアドプロシージャコール

EXEC [dbo].[spGetEmployerIdCSV] ?, ? 

私のSQLコマンドテキストがあります。

私はどちらかのタスクタイプからそれを実行しようとするたびに、私は、EXEC SQLの構文またはステートメントがサポートされていない

を取得します。

SSIS内でストアドプロシージャを実行する最適な方法は何ですか?

ありがとうございます。

+0

しましたか?このhttp://www.sqlis.com/post/The-Execute-SQL-Task.aspx – JonH

+0

に従ってください。どのバージョンのSSIS? – HLGEM

+0

2012年です。問題はvarchar(最大)をインポートしていたことがわかりました – Paynetech

答えて

6

問題を再現できません。

私はすでにprocが存在するコントロールフローを作成しました。私は実行をクリックすると、私は私の

exec sql task

マイパラメータタブとして設定sqlタスクを実行している

control flow

parameter mapping

を示し、パッケージが緑色になります。

私が最初に想定していたのは、ストアドプロシージャを使用していて、誤ってEXECパートを提供していたということでした。私はSSRSと似たようなことをしていましたが、式を介してIsQueryStoredProcedureをTrueに更新してもエラーメッセージは再生成できませんでした。

SQLの実行タスクに表示されていること以外にも、別のやり方をしている場合は、そのプロシージャに表示されるすべての機能を説明するために質問を修正できますか?

+0

ありがとうあなたbillinkc。私は本当にこれであなたの助けに感謝します。私は、問題を発見した、私は最初にsparchにそれを渡すために私の変数にvarchar(最大)をインポートしようとしていた。私は明らかにSSISと(最大)長さの設定がうまくいっていないことがわかりました。私の全体のデータインポートが失敗し、残りのデータが流れないようにしました。いったん私はハード長さを設定し、それはあなたからのストアドプロシージャのクエリの支援を使用して、うまく動作します。ありがとうございました! – Paynetech

+0

はい、SSISには独自のデータ型があるため、問題が発生します。おそらくDT_STRが使用されています。これは、最大長が8000文字のヌル終了ANSI/MBCS文字列です。 SQL Server varchar(max)は最大2 147 483 647(2GB)を格納します。これはかなり多少です! – Thronk

2

出力パラメータを指定しましたか?

EXEC [dbo].[spGetEmployerIdCSV] ?, ?, ? OUTPUT 

ResultSetがnoneに設定する必要があります。 アウト/ 1で2のために、あなたのSQLコードは次のようになります!

+1

これはどちらもうまくいかないようです。答えの例は、SQL実行タスクの中か、データフロータスク/ OLE DBソースエディタの中で使用するのですか?ソースエディタでこのように設定すると、それ以上のパラメータを取ることを単に拒否します。 SQLタスク内から「EXEC SQL構文または文はサポートされていません」と表示されます。 – Paynetech

-3

あなたは

コール()MySQLのワークベンチでストアドプロシージャを実行するために使用するのと同じコマンドを使用します。

Execute SQLタスクでこのコマンドを使用します。

+0

これはMySQLとしてタグ付けされていません – Hituptony

1

同じ問題がありました。

タスクを実行すると、[進行状況]タブが表示されます。これはあなたに「本格的な」エラーの詳細を与えるでしょう。

私の場合、私はSQLタスクで作成したパラメータをストアドプロシージャの実際のものにマップしませんでした。

SQLタスクをダブルクリックし、左側のパラメータマッピングをクリックしてから、パラメータとそのそれぞれのマッピングを作成します。ここでは(バージョン2012)のスクリーンショットです:あなたは、パラメータマッピングを

enter image description here

関連する問題