2017-06-06 9 views
1

私は、このストアドプロシージャを持っているを実行します。格納されたデータは、SQLタスク

私はOLEとADOの接続だけでなく、結果セットを試しました。私はテーブル変数を作成し、その値をそこに格納しようとしました。

何も機能しません。

データベースで正常に実行されていることがわかりましたが、結果データセットを返すと失敗します。

私はいくつかのデバッグを行っており、結果文字列が返されることを保証することができます。問題は、SSISでこれを処理する方法がわからないことです。私が手

エラーは次のとおりです。

入力文字列が正しい形式

私はすべてのアイデアに感謝していませんでした。

ありがとうございました。

EDIT:もう一度テーブル変数を使用しようとしましたが、動作します。私は最初にそれをうまくやっていないと思う。申し訳ありません。ありがとう!

答えて

1

問題の潜在的な原因として、SSISとSQL Serverの間のデータ型が一致していない可能性があります。

データ型がSQL Server uniqueidentifierのSSIS GUIDと一致しません - SSIS GUIDには中括弧(例:{00000000-0000-0000-0000-000000000000})が含まれていますが、SQL値は含まれません。 SQLはその値を固有のIDとして認識できず、変換に失敗します。

GUIDを渡すには、SSISまたはSQLの中括弧を削除する必要があります。一つのアプローチ私は、例えば、このため

DECLARE @GUID VARCHAR(40) = '{00000000-0000-0000-0000-000000000000}' 
DECLARE @CnvtGUID UNIQUEIDENTIFIER = REPLACE(REPLACE(@GUID, '}', ''), '{', '') 

SELECT @GUID, @CnvtGUID 
+0

感謝をVARCHARとして渡ってそれを送信し、その後、中括弧を取り除くためにそれを使用しましたが、手続きのデータ型はnvarcharを返して、変数が文字列です。私はデータ型が問題だとは思っていませんが、データセットをキャッチする方法です。私もデータ型を変更しようとしました。 – Maria

+0

'@ID'パラメータに値を渡していますか?それは私の提案を促す 'uniqueidentifier'データ型です – AHiggins

+0

私は参照してください。ストアドプロシージャが実行されているため、入力パラメータが問題ではありませんでした。私はデータセットを保存するテーブル変数を使用していますので、今は問題ありません。ご協力いただき誠にありがとうございます。 – Maria

関連する問題