C# SSIS脚本组件-将1行Json处理到表

C# SSIS脚本组件-将1行Json处理到表,c#,sql-server,json,ssis,script-component,C#,Sql Server,Json,Ssis,Script Component,我是SSIS的新手。我试图从一个表中获取一个包含Json字符串的字段作为输入,并将Json转换为一个表作为输出。我在SSIS中设置了一个异步脚本组件,选择Json字段作为输入列,还创建了输出列,但遇到了一些问题: 如何从输入中获取值?我试图提取输入 “ProcessInputRow”方法中的列到字符串,如 string=Row.MData 我得到“无法将类型‘Microsoft.SqlServer.Dts.Pipeline.BlobColumn’隐式转换为‘string’” 或者在尝试将其转换为

我是SSIS的新手。我试图从一个表中获取一个包含Json字符串的字段作为输入,并将Json转换为一个表作为输出。我在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作为字符串存储在blob中,您需要根据代码的具体情况将Ascii替换为unicode。

    谢谢,我已对其进行了排序。