Компонент сценария служб SSIS - процесс 1 строки из Json в таблицу

1

Я новичок в SSIS. Я пытаюсь получить поле, содержащее строку Json из таблицы в качестве ввода, и преобразовать Json в таблицу в качестве вывода. Я установил компонент Asynchronous Script в SSIS, выбрал поле Json в качестве входного столбца, а также создал выходные столбцы, но я столкнулся с несколькими проблемами:

  1. Как я могу получить значение из ввода? Я пытаюсь извлечь входной столбец в строку в методе ProcessInputRow, например

    string = Row.MData Я получаю "Не могу неявно преобразовать тип" Microsoft.SqlServer.Dts.Pipeline.BlobColumn 'в' string '"

    Или верните "Microsoft.SqlServer.Dts.Pipeline.BlobColumn", когда я попытаюсь преобразовать его в строку

  2. Должен ли я просто писать свой код в "ProcessInputRow", потому что я могу использовать OutputBuffer.AddRows для построения моего вывода? И игнорировать "CreateNewOutputRows", поскольку я не могу получить доступ к входным данным в "CreateNewOutputRows"?

  3. Или любое предложение о более эффективном подходе к этому?

Теги:
sql-server
ssis
script-component

1 ответ

0
Лучший ответ

Я подозреваю, что вам нужно использовать код, подобный этому, внутри вашего скриптового преобразования:

var myString = System.Text.Encoding.Unicode.GetString(Row.MData.GetBlobData(0, Convert.ToInt32 (Row.MData.Length)));

это должно позволить вам получить json, хранящийся в блобе, как строку, которую мне нужно заменить Ascii для unicode в зависимости от специфики вашего кода.

  • 0
    Спасибо, я получил это отсортировано.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню