powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проблема с кодировкой Oracle 11g XE
15 сообщений из 15, страница 1 из 1
Проблема с кодировкой Oracle 11g XE
    #39589735
well9999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возникла такая проблема. Есть база на Oracle 10g. Кодировка RUSSIAN_CIS.CL8MSWIN1251. Возникла задача перевода базы на другой сервер Oracle 11g XE. База была успешно импортирована на 11g. Девелопер прекрасно коннектится и читает данные. Но дальше начались проблемы.
UDL файл не коннектится к базе 11g (Указано неверное или неизвестное значение параметра NLS ). Ну да, в 11g AMERICAN_AMERICA.AL32UTF8.
Ставлю в реестре клиента AMERICAN_AMERICA.AL32UTF8., UDL начинает коннектиться, но при запуске программы (на C++Builder) русские символы отображаются некорректно.
Попытки поменять кодировку на сервере 11g и в реестре ни к чему не привели.

Можно ли как-то решить эту проблему? Или единственный выход-преобразование данных в формат UTF8?
...
Рейтинг: 0 / 0
Проблема с кодировкой Oracle 11g XE
    #39589781
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
well9999Попытки поменять кодировку на сервере 11g
могли привести к потере читабельности данных в принципе

С кодировкой на клиенте выставленной, аналогичной кодировке приложения с помощью которого ваш "девелопер прекрасно коннектится и читает данные", та же проблема?
...
Рейтинг: 0 / 0
Проблема с кодировкой Oracle 11g XE
    #39589789
well9999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL developer коннектится без приложения (в файл sqldeveloper.conf добавлены строки
AddVMOption -Duser.language=en
AddVMOption -Duser.region=us)
А клиент коннектится только с AMERICAN_AMERICA.AL32UTF8. а, с CL8MSWIN1251. никак.
...
Рейтинг: 0 / 0
Проблема с кодировкой Oracle 11g XE
    #39589903
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
well9999Возникла такая проблема. Есть база на Oracle 10g. Кодировка RUSSIAN_CIS.CL8MSWIN1251. Возникла задача перевода базы на другой сервер Oracle 11g XE. База была успешно импортирована на 11g. Девелопер прекрасно коннектится и читает данные. Но дальше начались проблемы.
UDL файл не коннектится к базе 11g (Указано неверное или неизвестное значение параметра NLS ). Ну да, в 11g AMERICAN_AMERICA.AL32UTF8.
Ставлю в реестре клиента AMERICAN_AMERICA.AL32UTF8., UDL начинает коннектиться, но при запуске программы (на C++Builder) русские символы отображаются некорректно.
Попытки поменять кодировку на сервере 11g и в реестре ни к чему не привели.

Можно ли как-то решить эту проблему? Или единственный выход-преобразование данных в формат UTF8?

А Вы уверены,что данные строк легли сразу правильно(в плане кодировки)
Вы когда импортировали ..
1.Это был impdp.
2.Просто imp...
И ему(imp) тогда надо типа
Код: powershell
1.
2.
3.
4.
#! /bin/sh
NLS_LANG=RUSSIAN_CIS.CL8MSWIN1251 
export NLS_LANG
imp .....
...
Рейтинг: 0 / 0
Проблема с кодировкой Oracle 11g XE
    #39589960
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
well9999Можно ли как-то решить эту проблему? Или единственный выход-преобразование данных в формат UTF8?
1. Прочтите Globalization Support Guide и разберитесь, наконец, "кто на ком стоял" (с)
Метод "научного тыка" мало применим к БД вообще и к oracle rdbms - в частности.
На основании полученных знаний:
2. Определите кодировку исходной и целевой БД.
3. Установите, каким именно образом были перенесены данные и где по дороге была допущена ошибка.

Хинт: текстовые данные в БД лежат в одной кодировке, и эта кодировка суть кодировка БД (database characterset). Есть еще "запасная" для лишенцев - National characterset, но это, скорее всего, не про вас.
Хинт2: значения в реестре не влияют на кодировку БД. Она задается при создании БД.
Хинт3: если переносили данные, скажем, скриптом или каким неродным тулом, то с учетом тотального провала по п.1 легче легкого было накосячить.
Хинт4: NLS_LANG состоит из ТРЕХ компонент, и кодировка - только один из них. Проблемы с подключением могло вызвать указание территории CIS, которая не поддерживается в современных клиентах и заменена на RUSSIA.
Хинт5: NLS_LANG требуется КЛИЕНТУ чтобы понять, с какой кодировкой работает ОН САМ. Кодировку БД клиент знает без подсказок.
...
Рейтинг: 0 / 0
Проблема с кодировкой Oracle 11g XE
    #39589962
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irbis_alему(imp) тогда надо типа
Код: powershell
1.
2.
3.
4.
#! /bin/sh
NLS_LANG=RUSSIAN_CIS.CL8MSWIN1251 
export NLS_LANG
imp .....


Не надо уже довольно давно.
...
Рейтинг: 0 / 0
Проблема с кодировкой Oracle 11g XE
    #39589985
ы!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ы!
Гость
RUSSIAN_RUSSIA.CL8MSWIN1251
?
...
Рейтинг: 0 / 0
Проблема с кодировкой Oracle 11g XE
    #39589988
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ы!RUSSIAN_RUSSIA.CL8MSWIN1251

Что-то мне подсказывает, что целевая XE могла быть поставлена в варианте монобайта (US7ASCII, для штатов), а не UNIVERSAL, которая UTF-8 (для прочих, неисключительных наций).
...
Рейтинг: 0 / 0
Проблема с кодировкой Oracle 11g XE
    #39589999
ы!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ы!
Гость
andrey_anonymous,

Тогда проблемы с русским языком вылезли бы раньше.
Они же не зря Univ придумали ;)
Я ориентировался на "Указано неверное или неизвестное значение параметра NLS"
Чаще всего это это CIS <> RUSSIAN
...
Рейтинг: 0 / 0
Проблема с кодировкой Oracle 11g XE
    #39590112
well9999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymousы!RUSSIAN_RUSSIA.CL8MSWIN1251

Что-то мне подсказывает, что целевая XE могла быть поставлена в варианте монобайта (US7ASCII, для штатов), а не UNIVERSAL, которая UTF-8 (для прочих, неисключительных наций).

А в OTN только один вариант 11g XE для Win x64
...
Рейтинг: 0 / 0
Проблема с кодировкой Oracle 11g XE
    #39590624
well9999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кодировка клиента CL8MSWIN1251
Клиент соединяется с рабочей БД, параметры её такие:
авторNLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET CL8MSWIN1251
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 10.2.0.3.0

Параметры БД 11g XE куда нужно экспортировать данные и корректно обрабатывать с клиентского компа:
авторNLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET AL32UTF8
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 11.2.0.2.0

Изменять данные реестра на клиенте нельзя, потому что он работает с несколькими БД с кодировкой аналогичной первой.
Можно ли реально поменять NLS_CHARACTERSET AL32UTF8 на CL8MSWIN1251?
...
Рейтинг: 0 / 0
Проблема с кодировкой Oracle 11g XE
    #39590625
well9999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
well9999Можно ли реально поменять NLS_CHARACTERSET AL32UTF8 на CL8MSWIN1251?
Вернее мне нужно соединить клиента с БД, но NLS не даёт.
...
Рейтинг: 0 / 0
Проблема с кодировкой Oracle 11g XE
    #39590715
well9999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Век живи век учись...
Проблема решилась после установки в реестре клиента NLS_LANG=RUSSIAN_RUSSIA.CL8MSWIN1251 вместо RUSSIAN_CIS.CL8MSWIN1251
...
Рейтинг: 0 / 0
Проблема с кодировкой Oracle 11g XE
    #39590991
ы!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ы!
Гость
well9999Изменять данные реестра на клиенте нельзя

well9999...
Проблема решилась после установки в реестре клиента
и как после этого с вами разговаривать...?
...
Рейтинг: 0 / 0
Проблема с кодировкой Oracle 11g XE
    #39591032
CrazyCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ы!well9999Изменять данные реестра на клиенте нельзя

well9999...
Проблема решилась после установки в реестре клиента
и как после этого с вами разговаривать...?
... но если очень хочется, то можно :)
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проблема с кодировкой Oracle 11g XE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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