вторник, 26 февраля 2013 г.

Oracle 11g XE - подключение в Windows

Фирма Oracle выпускает вариант своей СУБД 11g в ограниченной версии: Express Edition(XE).
Для ее использования не нужна Лицензия. Конечно начинать изучение Oracle лучше с этой версии.

Для работы с Oracle фирма делает и выкладывает для использования два продукта: SQLDeveloper и DataModeler. Эти программы имеют большие возможности и очень полезны.
Но: они реализованы на языке Java и используют для доступа к базам как клиента так и jdbc с прямым доступом. При загрузке этих программ стартует java машина, которая читает с вашего компьютера локаль и передает программе. Та в свою очередь определяет сеансовые настройки NLS и пытаются установить их на сервере XE. А там их нет! Во всяком случае для России.
Коннект не проходит хоть плачь.

Выход прост: в файле sqldeveloper\sqldeveloper\bin\sqldeveloper.conf вставляем принудительную локаль для java машины:

AddVMOption -Duser.language=en
AddVMOption -Duser.region=us

Для datamodeler берем соответственно файл  C:\datamodeler\datamodeler\bin\datamodeler.conf.
Вставляем те же строчки.

 Если вы используете Python  с Oracle, то возможно и используете модуль cx_Oracle. Будьте готовы, что при попытки подключения выскочит ошибка по поводу того, что клиент просит установить такой  NLS_LANG, которого в XE нет! os.environ["NLS_LANG"]="AMERICAN_AMERICA.AL32UTF8"Ошибка ORA-12705.

Проблема решается аналогично.
в модуль Python вставляете строки:

import os
os.environ["NLS_LANG"]="AMERICAN_AMERICA.AL32UTF8"

и далее база XE ваша!






X-Plane 11, 12 - любитель, Фото любитель со стажем

Постоянные читатели

Архив блога