2016-09-18 1 views
0

У меня есть таблица базы данных с полем «Имя_файла» и второе поле, которое является строкой base64 (nvarchar (MAX)). Это архив из моей финансовой системы. Я хочу преобразовать эту строку обратно в файл, используя Byte [] в задаче сценария SSIS, но я не могу получить значение строки из этой переменной объекта.Строка Base64 в SSIS

Сначала я получаю значение из базы данных SQL в переменной SSIS (Base64Data). Эта переменная имеет тип Object, так как тип SQL - nvarchar (MAX). Я использую оператор sql: SELECT Base64Data FROM SubjectConnector WHERE Имя_файла = '16 -VMA-37041.pdf ', который возвращает только одну строку. Затем я соединяю Base64Data с переменной [User :: Base64Data] в окне Result Set редактора Execute SQL Task Editor. Здесь нет проблем (по крайней мере, так кажется).

Но когда я проверяю значение этого объекта переменной с: MessageBox.Show (. Dts.Variables [ "User :: Base64Data"] Value.ToString()); говорится: System._ComObject

Что происходит? Является ли результат запроса SQL пустым? Как я могу проверить это или что еще не так?

Here's my SQL data

Пожалуйста, помогите.

ответ

0

Переменный тип Объект - это набор записей ADO, поэтому вы не можете получить его напрямую с помощью инструкции Dts.Variables.... Я извлек значение NVARCHAR (MAX) в ДЛЯ КАЖДОГО перечислитель для набора записей ADO.NET и извлек значение из первого столбца в текстовую переменную.

+0

Да, все. Пока переменная объекта является полным набором результатов, а не одной строкой! Thanx Ferdipux! – MvdBend