gpt4 book ai didi

c# - SSIS 4000 字符限制问题

转载 作者:行者123 更新时间:2023-11-30 23:05:18 24 4
gpt4 key购买 nike

我的 SSIS 包需要读取 JSON 文件并将整个 JSON 文本存储到一行中。目前,我可以使用平面文件源毫无问题地做到这一点。

但是,数据类型必须是 DT_NTEXT 所以我可以导入超过 4000 个字符。当我需要包含从文件名和目录路径捕获的更多数据时,我的问题就出现了。一旦它通过脚本组件捕获该信息,我就无法再将 JSON 数据写回其原始列 DT_NTEXT 是只读的。我也试过只从脚本组件读取文件并遇到同样的问题。

我也尝试过将它们作为两个不同的数据源并合并它们,但是数据类型不允许我进行排序。最后,我尝试使用脚本组件将 JSON 数据分配给变量,但您只能在执行后执行此操作。

整个情况的讽刺之处在于,所有数据只需要在每个文件的一行中。此处概述了这些列:

Current Script output

这是我当前数据流的图片,但这并不能反射(reflect)我所尝试的一切。

Control flow

Data flow

如果有人可以帮助我解决这些奇怪的限制,将不胜感激。

最佳答案

在您的脚本组件上,将 JSON 字符串转换为字节数组并存储。

string jsonData = "<Your json string>";
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
OutputBuffer.AddRow();
OutputBuffer.JSON.AddBlobData(encoding.GetBytes(jsonData ));

点击此链接了解更多详情。

https://www.mssqltips.com/sqlservertip/5047/import-and-export-varcharmax-data-with-sql-server-integration-services-ssis/

关于c# - SSIS 4000 字符限制问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48915618/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com