MSSQL 2017 - Не могу импортнуть JSON в таблицу
От: senglory  
Дата: 25.04.20 18:01
Оценка:
Вот таблица
CREATE TABLE [dbo].[Zipcodes]
(
    [ID] INT NOT NULL PRIMARY KEY IDENTITY, 
    [Zip] VARCHAR(5) NOT NULL 
)



Вот файл с JSON:
["00101" ,"00102" ,"00103" ,"00206" ,"00210" ,"00112" ,"00616" ... ]



Вот скрипт импорта
Declare @JSON varchar(max)
SELECT @JSON=BulkColumn
FROM OPENROWSET (BULK 'C:\TMP\zipcodes.json', SINGLE_CLOB) import

insert into  [dbo].[Zipcodes](
    Zip
)
SELECT *
FROM OPENJSON (@JSON)
with(
    [value] VARCHAR(5) 
)



А вот что сервер выдает при импорте:

Msg 515, Level 16, State 2, Line 23
Cannot insert the value NULL into column 'Zip', table 'dbo.Zipcodes'; column does not allow nulls. INSERT fails.



Как поменять скрипт (не JSON — я ему не хозяин) так, чтобы импорт пошел?
Re: MSSQL 2017 - Не могу импортнуть JSON в таблицу
От: Olaf Россия  
Дата: 25.04.20 20:03
Оценка: 6 (1)
Здравствуйте, senglory, Вы писали:

S>Как поменять скрипт (не JSON — я ему не хозяин) так, чтобы импорт пошел?


Declare @JSON varchar(max)
SELECT @JSON=BulkColumn
FROM OPENROWSET (BULK 'C:\TMP\zipcodes.json', SINGLE_CLOB) import

insert into  [dbo].[Zipcodes](
    Zip
)
SELECT *
FROM OPENJSON (@JSON)
with(
    [value] VARCHAR(5) '$'
)
Re[2]: MSSQL 2017 - Не могу импортнуть JSON в таблицу
От: senglory  
Дата: 25.04.20 20:43
Оценка:
O>with(
O> [value] VARCHAR(5) '$'
O>)

Супер! Заработало, а что это за магия болдом?
Re[3]: MSSQL 2017 - Не могу импортнуть JSON в таблицу
От: Olaf Россия  
Дата: 25.04.20 20:57
Оценка: :)
Здравствуйте, senglory, Вы писали:

O>>with(

O>> [value] VARCHAR(5) '$'
O>>)

S>Супер! Заработало, а что это за магия болдом?


Да вроде никакой магии, просто выделил, чтобы отличалось от исходного кода.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.