У меня есть источник данных ODBC для базы данных Oracle.В таблице, из которой я выбираю данные, есть varchar2
столбцы, содержащие, например, « кг / м³ » или « ° C ».
Теперь с помощью ODBCConnection в моем приложении c #OdbcDataReader
возвращает " кг / м? и" ? C".
Проверка параметров NLS с помощью:
SELECT *
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET');
возвращает AL32UTF8
для NLS_CHARACTERSET
и AL16UTF16
для NLS_NCHAR_CHARACTERSET
.
Если я изменю тип столбца на NVARCHAR
, OdbcDataReader
возвращает правильное значение. Но изменение столбцов таблицы невариант, потому что база данных также используется другими приложениями.
Есть ли способ получить правильное значение, установив какой-либо параметр для объектов подключения, команды или считывателя?
Спасибо, Cew3
Редактировать: Настройка системного окружения NLS_LANG
на GERMAN_GERMANY.AL32UTF8
( и перезагрузка аппарата! ) решила проблему!
Спасибо всем за подсказки/ комментарий!