2016-09-18 21 views
0

"FileName"フィールドとbase64文字列(nvarchar(MAX))の2番目のフィールドを持つデータベーステーブルがあります。私の金融システムのアーカイブです。この文字列をSSISスクリプトタスクでByte []を使ってファイルに変換したいのですが、このオブジェクト変数から文字列値を取得できません。SSISのBase64文字列

まず、SSIS変数(Base64Data)でSQLデータベースから値を取得します。 SQL型がnvarchar(MAX)であるため、この変数の型はObjectです。私はSQL文を使用します:SELECT Base64DataからSubjectConnector WHERE FileName = '16 -VMA-37041.pdf 'これは1行だけを返します。私はその後、Base64Dataを[Execute SQL Task Editor]の[Result Set]ウィンドウの変数[User :: Base64Data]に接続します。ここに問題はない(少なくともそうだと思う)。

しかし、このオブジェクト変数の値をチェックすると、 MessageBox.Show(Dts.Variables ["User :: Base64Data"]。Value.ToString()); それは述べて: System._ComObjectそれは何が起こっている

? SQLクエリの結果は空ですか?これをチェックするにはどうしたらいいですか?

Here's my SQL data

助けてください。

答えて

0

実際には変数型オブジェクトはADOレコードセットなので、Dts.Variables...ステートメントで直接取得することはできません。 NVARCHAR(MAX)値をで抽出し、ADOBMレコードセットの列挙子として列挙子を抽出し、最初の列から値をテキスト変数にフェッチしました。

+0

はい、それです。オブジェクト変数が完全な結果セットであり、単一の行でない限り! Thanx Ferdipux! – MvdBend