Гость
Форумы / 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
26.03.2021, 11:56
    #40057121
Virikus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot convert a string value found in the JSON text to binary value because it is not Bas
Добрый день.

Возникла проблема при записи в таблицу из 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
26.03.2021, 12:10
    #40057125
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot convert a string value found in the JSON text to binary value because it is not Bas
Код: sql
1.
SET @ObjectJSON =   N'[{"Ссылка" ...



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

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

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

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

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

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




в запросе вы пишите [Номер_n] nchar( 28 ) '$."Номер_n"',
...
Рейтинг: 0 / 0
Форумы / 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
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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