2016-10-12 4 views
0

Я пытаюсь сохранить символ товарного знака (™) в базе данных DB2 iSeries. Кодировка столбца использует CCSID 1200, а вставка/выбор с использованием встроенного SQL-файла отлично работает. Когда я пытаюсь сохранить его с использованием набора данных .net в C#, я получаю ошибку преобразования. Насколько я понял, поставщик данных DB2 отправляет в двоичном формате по умолчанию, поэтому это должно работать.сохранить символ юникода в db2 iSeries с .net dataset

Благодарим за помощь!

+0

Определение явно, с идентификатором сообщения и текста, что является «* ошибка преобразования *»; лучше всего также поделиться фрагментом кода о том, что сделано для * сохранения его с использованием набора данных .net в C# *. Отправка * бинарного * текста в тегированные по UTF столбцы почти не поддерживается; очень похоже на литье между BINARY и типами персонажей, почти невозможно. Примечание. Тег «DB2» является общим, тогда как тег «DB2i» идентифицирует DB2 для IBM i [или для более старой DB2 для IBM i5/OS как ранее известный как DB2/400, тег «DB2400» делает аналогично ], как отличающиеся от других вариантов DB2. – CRPence

+0

Единственная информация, которую я получаю, это «Ошибка преобразования», не более того. Код является стандартным набором данных ADO.NET, ничего особенного. Я имел в виду, что SQL отправляется как SQL_BINARY, а не сам столбец (по крайней мере, это то, что говорит документация поставщика). – pwblnz

ответ

0

попытаться вставить в VARCHAR колонку, как этот

insert into jgrun.tmp2  
values x'39'    
+0

Намереваясь выполнить что? Как 7-битный ASCII, который будет цифрой '' 9'', и как EBCDIC, который будет контрольным. Разумеется, это не могло быть непростой способ получить знак Trade Mark (U + 2122) или UTF8 0xE2 0x84 0xA2, вставленный в таблицу через C#? – CRPence