我正在使用BCP将json文件加载到SQL Server(是的,我知道有更好的方法,但需要尝试这个)
问题是,json文档没有正确形成,因为格式文件中的终结符正在被删除,但我希望它包含在内
bcp db.dbo.test IN G:\JSON\json.out -f G:\JSON\formatfile.out -T
格式文件终止符:
<FIELD ID="1" xsi:type="CharTerm" TERMINATOR="] }" COLLATION="Latin1_General_CI_AI"/>
如何在不截断json结束标记的情况下结束文件?
BCP不是为将文件导入单个列而设计的,因此您会遇到这些问题。要将文件作为单个对象导入,请使用OPENROWSET(... SINGLE_BLOB)功能,如下所示:
INSERT INTO JsonTable(jsonColumn)
SELECT BulkColumn
FROM OPENROWSET (BULK ‘TextFile Path’, SINGLE_BLOB) FileName
如果你绝对必须使用BCP,那么通常还有一个技巧可用于适用于JSON文件的XML文件。
默认情况下,这会将整个XML文件作为一个单元导入。它也应该适用于JSON文件,但我无法保证。