С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
4 / 4 / 2
Регистрация: 23.03.2016
Сообщений: 79

Импорт Json

27.02.2019, 13:04. Показов 5345. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Появилась необходимость импорта json в ms sql server

1) создание json из odata к примеру: http://vs-by01-1c01/KD/odata/standard.odata/Catalog_ЕденицыИзмерения?$select=Ref_Key ,Description&$format=application/json;odata=nometadata
2) сохраняем его и далее переходим в SSMS
3)Код запроса:

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
DECLARE @VALUE VARCHAR(MAX)
 
SELECT @VALUE = BulkColumn FROM OPENROWSET(BULK'D:\TEMP\123.json', SINGLE_BLOB) JSON;
SELECT @VALUE AS SingleRow_Column
 
 
SELECT * FROM OPENJSON(@VALUE, '$.value')
 
 
SELECT Ref_Key,Description
FROM OPENJSON(@VALUE, '$.value')
WITH(
    Ref_Key NVARCHAR(300) '$.Ref_Key',
        Description NVARCHAR(300) '$.Description'
)  
 
 INSERT INTO VALUE 
  SELECT Ref_Key,Description
  FROM OPENJSON(@VALUE, '$.value')
  WITH(
    Ref_Key NVARCHAR(300) '$.Ref_Key',
    Description NVARCHAR(300) '$.Description'
  )
4) Во вложении оставлю то что получаю на выходе + файл json

Подскажите как справиться с кодировкой? Если передать все под юникод sql выдает ошибку что исходный файл не является файлом юникод..
Help pls!!
Миниатюры
Импорт Json  
Вложения
Тип файла: rar 123.rar (54.1 Кб, 1 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.02.2019, 13:04
Ответы с готовыми решениями:

Импорт данных из Json в БД
Доброе утро! Хочу попросить помощи в следующем вопросе - есть строка json такого формата: ...

Java, JSON и JSON Simple. Непонятка с созданием объекта JSON на сервере для отправки на фронт
Здравствуйте. Разрабатываю интернет-магазин на Java. Мне нужно на фронте получить список товаров из базы данных для отображения на...

Ошибка при обработке Json - Cannot deserialize the current JSON array because the type requires a JSON object
Дополнительные сведения: Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Collections.Generic.List`1'...

7
785 / 616 / 273
Регистрация: 04.08.2015
Сообщений: 1,713
27.02.2019, 13:21
Цитата Сообщение от lollol4to Посмотреть сообщение
Подскажите как справиться с кодировкой?
Не дружит json с юникодом. Пробуйте UTF-8.
0
4 / 4 / 2
Регистрация: 23.03.2016
Сообщений: 79
27.02.2019, 13:31  [ТС]
Цитата Сообщение от Igr_ok Посмотреть сообщение
Пробуйте UTF-8.
каким образом?
SQL
1
SINGLE_BLOB
, reads a file as varbinary(max)
SQL
1
SINGLE_CLOB
, reads a file as varchar(max) and in ASCII format
SQL
1
SINGLE_NCLOB
, reads a file as nvarchar(max) and in UNICODE format
или же
http://vs-by01-1c01/KD/odata/standard.odata/Catalog_ЕденицыИзмерения?$select=Ref_Key ,Description&$format=application/json;charset=utf-8
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
27.02.2019, 13:48
lollol4to, не слушайте идиотских советов.
SQL Server не поддерживает UTF-8. Поддержка будет только начиная с SQL Server 2019.
Посему конвертируйте ваш файл либо в ASCII, либо в UTF-16.
0
785 / 616 / 273
Регистрация: 04.08.2015
Сообщений: 1,713
27.02.2019, 13:49
Цитата Сообщение от lollol4to Посмотреть сообщение
каким образом?
при создании json.
0
4 / 4 / 2
Регистрация: 23.03.2016
Сообщений: 79
27.02.2019, 14:06  [ТС]
Цитата Сообщение от invm Посмотреть сообщение
Посему конвертируйте ваш файл либо в ASCII, либо в UTF-16
в самом ssms я так понимаю нельзя конвертировать

Цитата Сообщение от Igr_ok Посмотреть сообщение
при создании json.
???
Миниатюры
Импорт Json  
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
27.02.2019, 14:20
Цитата Сообщение от lollol4to Посмотреть сообщение
в самом ssms я так понимаю нельзя конвертировать
Нельзя.
Файл ваш в кодировке UTF-8.

Либо конвертируете его в ASCII или в UTF-16.
Либо, если сервер 2016 или старше, можно в OPENROWSET указать файл формата и кодовую страницу для UTF-8. Подробности в документации.
1
4 / 4 / 2
Регистрация: 23.03.2016
Сообщений: 79
27.02.2019, 14:21  [ТС]
Цитата Сообщение от invm Посмотреть сообщение
Нельзя.
Файл ваш в кодировке UTF-8.
Либо конвертируете его в ASCII или в UTF-16.
Либо, если сервер 2016 или старше, можно в OPENROWSET указать файл формата и кодовую страницу для UTF-8. Подробности в документации.
Благодарю! Вы мне очень помогли!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.02.2019, 14:21
Помогаю со студенческими работами здесь

Ошибка при обработке Json - Cannot deserialize the current JSON array because the type requires a JSON object
Всем привет! Помогите, плиз, разобраться с ошибкой: An unhandled exception of type 'Newtonsoft.Json.JsonSerializationException'...

Импорт из 1С в bitrix через csv, импорт пути изображения
Добрый день Уважаемые, Уже всю голову сломал себе пытаясь импортировать csv файл в битрикс через Import CSV (new). Список товаров и...

SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data
Всем привет, пытаюсь произвести запрос к обработчику c помощью AJAX, выдает ошибку при парсинге JSON че за фигня? гляньте плииз ребята ...

Flask и SQLAlchemy и JSON. Не получается преобразовать результат запроса в json
У меня есть БД построенная из этих моделей с помощью миграций: # Class Class stores info about dish categories class...

Распарсить с помощью Json.Net приходящий ответ в виде JSON
Нужна помощь с json {"success":true, "rgInventory":{ "1025429056":{ "id":"1025429056", "classid":"310779217",...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru