此问题已使用c#代码解决,请参阅此帖子the post
我在ole db源中包含软件包,以运行查询以生成平面文件目标的Json文件。查询:请注意,如果列活动中确实存在crlf,则我已使用replace来消除crlf(我看不到)
SELECT
Replace(Replace([activity], char(13),''), char(10),'') [activity]
FROM [CRM].[dbo].[JJVCACUProductElectron] for json auto
生成的json带有crlf,因此如果在记事本++中查看,可以看到多行。并且当将内容粘贴到在线json解析器中时,格式无效。在从生成的josn文件中手动删除所有crlf后,json数据将在一行中,然后在解析器中使用该格式即可。
很奇怪,如果我更改查询以仅将一条记录返回到文件中,那么json就可以了。表中只有7行,因此我尝试了每一行并且它们都起作用,这使我怀疑crlf是否真的是问题所在。但是,如果没有此列,则可以将所有行生成为json。
我尝试了使用变量存储查询内容然后选择变量的方法,这将起作用,但是对于具有数千万行的表,将导致性能问题。因此,这将不是一种选择。
结论:
这是[表格]中的选择活动
这显示了生成的json文件,您可以看到有两行。
在第一行的末尾加上一个crlf。如果删除此crlf,所以只有一行,则内容是有效的json。