2016-09-18 58 views
0

我有一個字段爲「FileName」的數據庫表,第二個字段爲base64字符串(nvarchar(MAX))。這是我的金融系統的檔案。我想在SSIS腳本任務中使用Byte []將此字符串轉換回文件,但我無法從此對象變量中獲取字符串值。SSIS中的base64字符串

首先,我從SSIS變量(Base64Data)中的SQL數據庫中獲取值。由於SQL類型爲nvarchar(MAX),因此此變量的類型爲Object。我使用sql語句:SELECT Base64Data FROM SubjectConnector WHERE FileName ='16 -VMA-37041.pdf'它只返回一行。然後,我將Base64Data連接到執行SQL任務編輯器的結果集窗口中的變量[User :: Base64Data]。這裏沒有問題(至少看起來如此)。但是當我檢查這個對象變量的值: MessageBox.Show(Dts.Variables [「User :: Base64Data」]。Value.ToString()); 它指出: System._ComObject

那是什麼回事? SQL查詢的結果是否爲空?我怎樣才能檢查這個或其他什麼是錯的?

Here's my SQL data

請幫助。

回答

0

變量類型對象實際上是ADO記錄集,因此您不能直接使用Dts.Variables...語句獲取它。我提取了NVARCHAR(MAX)值爲FOR EACH枚舉器爲ADO.NET記錄集,並從第一列中提取值到文本變量。

+0

是的,就是這樣。只要對象變量是完整的結果集而不是單行! Thanx Ferdipux! – MvdBend