我正在使用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,则有一种技巧通常用于XML文件,该技巧也应适用于JSON文件。
默认情况下,这将整个XML文件作为一个单元导入。它[[应该也可以在JSON文件上使用,但我不能保证。