Фирма 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 ваша!
Для ее использования не нужна Лицензия. Конечно начинать изучение 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 ваша!
Комментариев нет:
Отправить комментарий