【发布时间】:2017-09-16 23:17:42
【问题描述】:
我正在尝试使用 OPENJSON 将数据插入到我的数据库中,用 C# 编写代码。
我已成功插入所需的 JSON 对象,但我只能执行一次 - 这不是目标。我想用这种方式将多个 JSON 对象插入数据库并保留在那里。
我使用的 SQL 字符串是这样的:
@"SELECT BulkColumn INTO unparsed2 FROM OPENROWSET(BULK 'C:\\JSON\\data.json', SINGLE_CLOB) as j";
出于测试目的,代码只运行一次。如果我再次执行它,我会收到以下消息:
数据库中已经有一个名为“unparsed2”的对象。
我还尝试在 T-SQL 脚本中将对象作为参数传递,这会导致错误(但在第一个键值附近收到错误 - 可能是由于 json 对象中的分号)。
@"declare @json nvarchar (max) = " +json_object+ " "INSERT INTO unparsed SELECT * FROM OPENJSON(@json) AS json)";
“设备”附近的语法不正确。
我的 JSON 对象:
{
"device":"1234",
"status":1,
"level":100,
"dni":true,
"value":50
}
【问题讨论】:
标签: c# json sql-server-2016