IIB: ВСТАВИТЬ В Oracle Database "" "(перевернутые знаки вопроса) и китайские иероглифы - PullRequest
0 голосов
/ 24 октября 2019

Я сторонник Oracle Database и IBM Integration Bus и пытаюсь использовать функцию INSERT INTO ESQL в IBM Integration Bus для вставки данных файла CSV.

Я используюDFDL с кодировкой ISO-8859-1 для чтения файла. При использовании отладчика сообщение хорошо и доступно для чтения в SQLPLUS и SQL Developer.

Я уже пытался изменить настройку NLS_CHARARCTERSET в моей базе данных Oracle, хотя я не совсем уверен, какая кодировка мне нужна. По умолчанию это был AL32UTF8, и я попробовал UTF8, WE8ISO8859P1.

Что я также сделал, изменив кодировку DFDL и изменив настройки драйвера ODBC на Использовать настройки Oracle NLS (по умолчанию), Использовать региональные настройки Microsoft и использоватьНастройки США.

Если я пытаюсь использовать команду INSERT INTO, база данных возвращает перевернутые знаки вопроса или китайские символы, что явно не то, что мне нужно.

РЕДАКТИРОВАТЬ: Если я жестко закодировал INSERT INTOЗначения также возвращает знак вопроса. Кодировка CSV не имеет значения. Я также обнаружил, что данные файла CSV отображаются как нулевые. Когда я жестко кодирую значения в INSERT INTO, я получаю перевернутые знаки вопроса.

1 Ответ

0 голосов
/ 25 октября 2019

Если вы имеете в виду кодировку файла CSV. Это Windows 1250, поскольку во входном файле есть такие символы, как 'ß'

Я не понимаю этого утверждения. Использование символа «ß» не обязательно подразумевает Windows 1250. У вас есть какие-либо другие подтверждающие доказательства для этой заявки?

Если ваша заявка верна, значит, ваша схема DFDL неверна. Вы не можете анализировать многобайтовое кодирование, используя однобайтовый декодер. Поэтому первое, что вы должны сделать, это изменить свойство 'encoding' в блоке формата вашей схемы DFDL на "5346" (в соответствии с https://www.ibm.com/support/knowledgecenter/en/SSRH46_3.0.0_SWS/dni_ccsids_and_char_set_names.html).

Но (и я извиняюсь за повторение этого, но это действительно имеет значение ...) ПРОВЕРЬТЕ, что ваше предположение о Windows 1250 верно. Затем убедитесь, что кодировка в схеме DFDL соответствует кодировке файла CSV.

...