1

我是 SSIS 的新手。我正在尝试从表中获取一个包含 Json 字符串的字段作为输入,并将 Json 转换为表作为输出。我在 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. 或者有什么更好的方法建议吗?

4

1 回答 1

0

我怀疑您需要在脚本转换中使用与此类似的代码:

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

这应该允许您将 json 作为字符串存储在 blob 中,您需要根据代码的具体情况将 Ascii 替换为 unicode。

于 2014-06-03T04:37:21.517 回答