Я новичок в SSIS. Я пытаюсь получить поле, содержащее строку Json из таблицы в качестве ввода, и преобразовать Json в таблицу в качестве вывода. Я установил компонент Asynchronous Script в SSIS, выбрал поле Json в качестве входного столбца, а также создал выходные столбцы, но я столкнулся с несколькими проблемами:
Как я могу получить значение из ввода? Я пытаюсь извлечь входной столбец в строку в методе ProcessInputRow, например
string = Row.MData Я получаю "Не могу неявно преобразовать тип" Microsoft.SqlServer.Dts.Pipeline.BlobColumn 'в' string '"
Или верните "Microsoft.SqlServer.Dts.Pipeline.BlobColumn", когда я попытаюсь преобразовать его в строку
Должен ли я просто писать свой код в "ProcessInputRow", потому что я могу использовать OutputBuffer.AddRows для построения моего вывода? И игнорировать "CreateNewOutputRows", поскольку я не могу получить доступ к входным данным в "CreateNewOutputRows"?
Или любое предложение о более эффективном подходе к этому?
Я подозреваю, что вам нужно использовать код, подобный этому, внутри вашего скриптового преобразования:
var myString = System.Text.Encoding.Unicode.GetString(Row.MData.GetBlobData(0, Convert.ToInt32 (Row.MData.Length)));
это должно позволить вам получить json, хранящийся в блобе, как строку, которую мне нужно заменить Ascii для unicode в зависимости от специфики вашего кода.