powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Cannot convert a string value found in the JSON text to binary value because it is not Bas
8 сообщений из 8, страница 1 из 1
Cannot convert a string value found in the JSON text to binary value because it is not Bas
    #40057121
Virikus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Возникла проблема при записи в таблицу из json. Выдает ошибку Cannot convert a string value found in the JSON text to binary value because it is not Base64 encoded.

При этом если в этом же json-е руками добавить 3 символа или удалить 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.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
DECLARE  @ObjectJSON nvarchar(MAX)


-- json  с ошибкой
SET @ObjectJSON =   '[{"Ссылка":"gLow4XFUfGcR6y1ebMx8dg==","ПометкаУдаления":"AA==","Дата":"2020-11-23T10:35:15","_n":"2020-01-01T00:00:00","Номер_n":"ХХМВАЖЖ-1\/2311              ","Проведен":"AQ==","Вес":25.50,"ВесЖУ":0.00,"ВесПР":0.00,"ВидПеревозки":"gJpBA/niZNtCb0BaYZPeWw==","ВозвратныйГруз":"AAAAAAAAAAAAAAAAAAAAAA==","ВП":"AA==","Выдан":"AA==","ГарантияСроков":"AA==","ГО":"AAAAAAAAAAAAAAAAAAAAAA==","Город":"pLJMtjtulw1E6t1otHPOnw==","ГородПолучатель":"pLgAGbvJQc4R4Ad5JskziA==","ГородПолучательСУчетомПеренаправки":"pLgAGbvJQc4R4Ad5JskziA==","ГП":"AAAAAAAAAAAAAAAAAAAAAA==","ГПСУчетомПеренаправки":"AAAAAAAAAAAAAAAAAAAAAA==","ДатаМиграции":"2020-11-24T20:37:32","ДатаМодификации":"2020-11-23T15:12:25","Движение":"vKH5shCa8GlOCYgdVnyPGQ==","Доставка":"AAAAAAAAAAAAAAAAAAAAAA==","ЖУ":"AQ==","Забор":"AAAAAAAAAAAAAAAAAAAAAA==","КК":"AA==","КККолво":0,"Количество":1,"КоличествоПаллет":0,"КонтрагентОтправитель":"oYjHIks1+btFCG/8+5LJAA==","КонтрагентОтправительНаименование":"Иванов Иван Ивановиччччччч,ИП","КонтрагентПолучатель":"lv0d5IXgL5NGyTp+d1NC2g==","КонтрагентПолучательНаименование":"Марова Мария Марораевна,","КонтрагентПолучательСУчетомПеренаправки":"lv0d5IXgL5NGyTp+d1NC2g==","КонтрагентПолучательСУчетомПеренаправкиНаименование":"Марова Мария Марораевна,","КороткийНомер":"ТБМВАЖЖ","МаксГабарит":0.80,"НаименованиеГруза_тип_флаг":"CA==","НаименованиеГруза_s":"","НаименованиеГруза_тип":"AAAA2Q==","НаименованиеГруза":"sOIAFwhaBHgR26lZW48MqQ==","НГ":"AA==","НомерЛичногоКабинета":"","Объем":0.19,"ОбъемЖУ":0.06,"ОбъемПР":0.00,"Ответственный":"gLosdopPfgYR5x6ZWsu46g==","Отделение":"lOQAFV2dkg8R5FqWp3HD3A==","ОтделениеПолучатель":"lOQAFV2dkg8R5FqWzPU0PQ==","ПаллетнаяПеревозка":"AA==","Пломбирование":"AA==","ПР":"AA==","ПредварительныйКодГруза":"ХХМВАЖЖ-1\/2311","РазгруженныйГруз":"AAAAAAAAAAAAAAAAAAAAAA==","Скидка":0,"СкладПолучатель":"vpjY04Xj1IsR4cwBtnblHQ==","СкоростнаяДоставка":"AA==","СЛ":"AA==","Страхование":"AQ==","ТерминальнаяОбработка":"AA==","УсловиеПриемки":"uu3mYAAy0ElENteSuhSOLw==","Хранение":"AA==","ШтрихКод":"524204206370","ЭтоДокументы":"AA==","ЭР_МестоПриемки":"gMEsdopPfgcR5j9hzMALcw==","НаложенныйПлатеж":"AA==","КлиентскийСрок":"2020-11-28T15:00:00","ХабОтправителя":"AAAAAAAAAAAAAAAAAAAAAA==","ШКСопроводительныхДокументов":"","РазделительФилиал":"AAAAAAAAAAAAAAAAAAAAAA=="}]'
--json без ошибки
--SET @ObjectJSON =   '[{"Ссылка":"gLow4XFUfGcR6y1ebMx8dg==","ПометкаУдаления":"AA==","Дата":"2020-11-23T10:35:15","_n":"2020-01-01T00:00:00","Номер_n":"ХХМВАЖЖ-1\/2311           ","Проведен":"AQ==","Вес":25.50,"ВесЖУ":0.00,"ВесПР":0.00,"ВидПеревозки":"gJpBA/niZNtCb0BaYZPeWw==","ВозвратныйГруз":"AAAAAAAAAAAAAAAAAAAAAA==","ВП":"AA==","Выдан":"AA==","ГарантияСроков":"AA==","ГО":"AAAAAAAAAAAAAAAAAAAAAA==","Город":"pLJMtjtulw1E6t1otHPOnw==","ГородПолучатель":"pLgAGbvJQc4R4Ad5JskziA==","ГородПолучательСУчетомПеренаправки":"pLgAGbvJQc4R4Ad5JskziA==","ГП":"AAAAAAAAAAAAAAAAAAAAAA==","ГПСУчетомПеренаправки":"AAAAAAAAAAAAAAAAAAAAAA==","ДатаМиграции":"2020-11-24T20:37:32","ДатаМодификации":"2020-11-23T15:12:25","Движение":"vKH5shCa8GlOCYgdVnyPGQ==","Доставка":"AAAAAAAAAAAAAAAAAAAAAA==","ЖУ":"AQ==","Забор":"AAAAAAAAAAAAAAAAAAAAAA==","КК":"AA==","КККолво":0,"Количество":1,"КоличествоПаллет":0,"КонтрагентОтправитель":"oYjHIks1+btFCG/8+5LJAA==","КонтрагентОтправительНаименование":"Иванов Иван Ивановиччччччч,ИП","КонтрагентПолучатель":"lv0d5IXgL5NGyTp+d1NC2g==","КонтрагентПолучательНаименование":"Марова Мария Марораевна,","КонтрагентПолучательСУчетомПеренаправки":"lv0d5IXgL5NGyTp+d1NC2g==","КонтрагентПолучательСУчетомПеренаправкиНаименование":"Марова Мария Марораевна,","КороткийНомер":"ТБМВАЖЖ","МаксГабарит":0.80,"НаименованиеГруза_тип_флаг":"CA==","НаименованиеГруза_s":"","НаименованиеГруза_тип":"AAAA2Q==","НаименованиеГруза":"sOIAFwhaBHgR26lZW48MqQ==","НГ":"AA==","НомерЛичногоКабинета":"","Объем":0.19,"ОбъемЖУ":0.06,"ОбъемПР":0.00,"Ответственный":"gLosdopPfgYR5x6ZWsu46g==","Отделение":"lOQAFV2dkg8R5FqWp3HD3A==","ОтделениеПолучатель":"lOQAFV2dkg8R5FqWzPU0PQ==","ПаллетнаяПеревозка":"AA==","Пломбирование":"AA==","ПР":"AA==","ПредварительныйКодГруза":"ХХМВАЖЖ-1\/2311","РазгруженныйГруз":"AAAAAAAAAAAAAAAAAAAAAA==","Скидка":0,"СкладПолучатель":"vpjY04Xj1IsR4cwBtnblHQ==","СкоростнаяДоставка":"AA==","СЛ":"AA==","Страхование":"AQ==","ТерминальнаяОбработка":"AA==","УсловиеПриемки":"uu3mYAAy0ElENteSuhSOLw==","Хранение":"AA==","ШтрихКод":"524204206370","ЭтоДокументы":"AA==","ЭР_МестоПриемки":"gMEsdopPfgcR5j9hzMALcw==","НаложенныйПлатеж":"AA==","КлиентскийСрок":"2020-11-28T15:00:00","ХабОтправителя":"AAAAAAAAAAAAAAAAAAAAAA==","ШКСопроводительныхДокументов":"","РазделительФилиал":"AAAAAAAAAAAAAAAAAAAAAA=="}]'

IF NOT object_id(N'[tempdb].[dbo].[#Sourse]',N'U') IS NULL DROP TABLE #Sourse   
       
       
SELECT *   INTO #Sourse  FROM OPENJSON(@objectJSON)   
WITH (   
--[Ссылка] binary(16) '$."Ссылка"',   
[Ссылка] binary(16),   
[ПометкаУдаления] binary(1) '$."ПометкаУдаления"',   [Дата] datetime '$."Дата"',   [_n] datetime '$."_n"',   [Номер_n] nchar(28) '$."Номер_n"',   
[Проведен] binary(1) '$."Проведен"',   [Вес] numeric(9 , 2) '$."Вес"',   [ВесЖУ] numeric(9 , 2) '$."ВесЖУ"',   [ВесПР] numeric(9 , 2) '$."ВесПР"',   
[ВидПеревозки] binary(16) '$."ВидПеревозки"',   [ВозвратныйГруз] binary(16) '$."ВозвратныйГруз"',   [ВП] binary(1) '$."ВП"',   [Выдан] binary(1) '$."Выдан"',
[ГарантияСроков] binary(1) '$."ГарантияСроков"',   [ГО] binary(16) '$."ГО"',   [Город] binary(16) '$."Город"',   [ГородПолучатель] binary(16) '$."ГородПолучатель"',
[ГородПолучательСУчетомПеренаправки] binary(16) '$."ГородПолучательСУчетомПеренаправки"',   [ГП] binary(16) '$."ГП"',   [ГПСУчетомПеренаправки] binary(16) '$."ГПСУчетомПеренаправки"', 
[ДатаМиграции] datetime '$."ДатаМиграции"',   [ДатаМодификации] datetime '$."ДатаМодификации"',   [Движение] binary(16) '$."Движение"',   [Доставка] binary(16) '$."Доставка"',
[ЖУ] binary(1) '$."ЖУ"',   [Забор] binary(16) '$."Забор"',   [КК] binary(1) '$."КК"',   [КККолво] numeric(10 , 0) '$."КККолво"',   [Количество] numeric(4 , 0) '$."Количество"',  
[КоличествоПаллет] numeric(10 , 0) '$."КоличествоПаллет"',   [КонтрагентОтправитель] binary(16) '$."КонтрагентОтправитель"',  
[КонтрагентОтправительНаименование] nvarchar(150) '$."КонтрагентОтправительНаименование"',   [КонтрагентПолучатель] binary(16) '$."КонтрагентПолучатель"', 
[КонтрагентПолучательНаименование] nvarchar(150) '$."КонтрагентПолучательНаименование"',   [КонтрагентПолучательСУчетомПеренаправки] binary(16) '$."КонтрагентПолучательСУчетомПеренаправки"', 
[КонтрагентПолучательСУчетомПеренаправкиНаименование] nvarchar(150) '$."КонтрагентПолучательСУчетомПеренаправкиНаименование"',   [КороткийНомер] nvarchar(13) '$."КороткийНомер"', 
[МаксГабарит] numeric(9 , 2) '$."МаксГабарит"',   [НаименованиеГруза_тип_флаг] binary(1) '$."НаименованиеГруза_тип_флаг"',   [НаименованиеГруза_s] nvarchar(100) '$."НаименованиеГруза_s"',  
[НаименованиеГруза_тип] binary(4) '$."НаименованиеГруза_тип"',   [НаименованиеГруза] binary(16) '$."НаименованиеГруза"',   [НГ] binary(1) '$."НГ"',   [НомерЛичногоКабинета] nvarchar(18) '$."НомерЛичногоКабинета"', 
[Объем] numeric(7 , 2) '$."Объем"',   [ОбъемЖУ] numeric(7 , 2) '$."ОбъемЖУ"',   [ОбъемПР] numeric(7 , 2) '$."ОбъемПР"',   [Ответственный] binary(16) '$."Ответственный"',  
[Отделение] binary(16) '$."Отделение"',   [ОтделениеПолучатель] binary(16) '$."ОтделениеПолучатель"',   [ПаллетнаяПеревозка] binary(1) '$."ПаллетнаяПеревозка"',  
[Пломбирование] binary(1) '$."Пломбирование"',   [ПР] binary(1) '$."ПР"',   [ПредварительныйКодГруза] nvarchar(28) '$."ПредварительныйКодГруза"',   [РазгруженныйГруз] binary(16) '$."РазгруженныйГруз"', 
[Скидка] numeric(2 , 0) '$."Скидка"',   [СкладПолучатель] binary(16) '$."СкладПолучатель"',   [СкоростнаяДоставка] binary(1) '$."СкоростнаяДоставка"',   [СЛ] binary(1) '$."СЛ"', 
[Страхование] binary(1) '$."Страхование"',   [ТерминальнаяОбработка] binary(1) '$."ТерминальнаяОбработка"',   [УсловиеПриемки] binary(16) '$."УсловиеПриемки"',  
[Хранение] binary(1) '$."Хранение"',   [ШтрихКод] nchar(12),  

[ЭтоДокументы] binary(1),   

[ЭР_МестоПриемки] binary(16) '$."ЭР_МестоПриемки"',  

[НаложенныйПлатеж] binary(1) '$."НаложенныйПлатеж"',  
[КлиентскийСрок] datetime '$."КлиентскийСрок"',  
[ХабОтправителя] binary(16) '$."ХабОтправителя"',   
[ШКСопроводительныхДокументов] nvarchar(12) '$."ШКСопроводительныхДокументов"', 
[РазделительФилиал] binary(16) '$."РазделительФилиал"' 
)  

SELECT * FROM #Sourse



Подскажите в чем может быть проблема и как ее обойти?

Попытки сохранять в json с разными параметрами не помогли
...
Рейтинг: 0 / 0
Cannot convert a string value found in the JSON text to binary value because it is not Bas
    #40057125
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
SET @ObjectJSON =   N'[{"Ссылка" ...



Код: sql
1.
..., [Номер_n] nvarchar(50) '$."Номер_n"', ...
...
Рейтинг: 0 / 0
Cannot convert a string value found in the JSON text to binary value because it is not Bas
    #40057127
Virikus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поменял на [Номер_n] nvarchar(50) '$."Номер_n"'

К сожалению не помогло. Все типы взяты из структуры хранения бд, куда пытаюсь в итоге записать.
...
Рейтинг: 0 / 0
Cannot convert a string value found in the JSON text to binary value because it is not Bas
    #40057133
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и какая ошибка?

ps
ваш "ошибочный" json у меня открывается без проблем при таком исправлении
...
Рейтинг: 0 / 0
Cannot convert a string value found in the JSON text to binary value because it is not Bas
    #40057137
Virikus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Аналогичная
Cannot convert a string value found in the JSON text to binary value because it is not Base64 encoded.

SQL 2016, не пойму из-за чего данная ошибка. При изменении любого текстового поля на пару символов в любой сторону работает без ошибок.
...
Рейтинг: 0 / 0
Cannot convert a string value found in the JSON text to binary value because it is not Bas
    #40057140
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какой-то странный баг, но вот такой хак помогает:

Код: sql
1.
2.
3.
-- json  с ошибкой
SET @ObjectJSON = '[{"Ссылка":...}]';
SET @ObjectJSON = @ObjectJSON + ' ';
...
Рейтинг: 0 / 0
Cannot convert a string value found in the JSON text to binary value because it is not Bas
    #40057145
Virikus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Действительно помогает, спасибо. Хотелось бы конечно понять причину этого.
...
Рейтинг: 0 / 0
Cannot convert a string value found in the JSON text to binary value because it is not Bas
    #40057271
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У вас в одном json поле

Код: sql
1.
2.
3.
"Номер_n": "ХХМВАЖЖ-1\/2311              ", -- 29 символов (с пробелами)
--в другом 
"Номер_n": "ХХМВАЖЖ-1\/2311           ", -- 26 символов (с пробелами)




в запросе вы пишите [Номер_n] nchar( 28 ) '$."Номер_n"',
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Cannot convert a string value found in the JSON text to binary value because it is not Bas
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]