Так уж получилось, что я решил чуть-чуть сместить фокус своей девелоперской деятельности в сторону Oracle PL/SQL. Нет, мне совершенно не надоел веб, просто у меня есть свой проект Smart Masses, который представляет собой магазин для гиков и сочувствующих имени доктора Жаба, и мне его более чем достаточно для экспериментов.
А учитывая, что в конторе, где я работаю всегда есть возможность выбора проекта, я решил «прокачать» знания по sql и pl/sql, с которым до этого не работал. Для начала оформил себе оракловые курсы по банальному sql и уложил все знания в систему =) Учиться понравилось. Вчера съездил в Олимпийский и закупил литературы по Oracle PL/SQL и немного Тома Кайта для души =)
Сегодня уже установил себе Oracle 10g XE на Ubuntu 8.04 и начал вдумчиво читать литературу и выполнять примеры.
У оракла есть некая IDE с незамысловатым названием JDeveloper. Не то, чтобы я горю желанием изучить ещё одну IDE, но посмотреть на неё захотелось. Ставиться она не без бубна, но официального руководства вполне достаточно. Единственная проблема возникает, когда пытаешься законнектиться к базе из неё. Проблема выражается двумя ошибками:
ORA-00604: error occurred at recursive SQL level 1
ORA-12705: Cannot access NLS data files or invalid environment specified
И ничего не признает. Выставление параметра NLS_LANG в профиле баша ничего не дает. После многочисленных расследований и поисков в гугле решение было найдено. В файл jdev.conf необходимо добавить пару строк:
AddVMOption -Duser.language=en
AddVMOption -Duser.region=us
Оказывается Ынтырпрайз Жава не очень признает всякие NLS_LANG и берет параметры прямо из среды обитания. И эти параметры оказываются неверными. Этот «хак» подходит для любых IDE, написанных на этом чудесном кросс-платформенном языке и использующихся для разработки под Oracle.
И вот ещё одна ссылка по которой можно почитать чуть более объемное описание проблемы и способы её решения. Отличный статья, рекомендую.
...тем же вечером...
Продолжая копать в нужном направлении, нарвался на SqlDeveloper, выпускаемый Oracle. Который не несет в себе столько уг, как jDeveloper. При установке был капризен и требовал путей к jvm, не смотря на то, что она была прописана в PATH. Ещё пытался (неудачно) создавать файл jdk в дирректории ~/.sqldeveloper/
и писать туда этот самый путь, чтобы не спрашивать каждый раз при старте. Но что-то у него не задавалось. Пришлось создать ему этот файлик, раздать на него 777 (на всякий случай =) и вот тогда, он туда уже всё написал.
Ну и баг NLS data files
лечился тем же способом. В sqldeveloper.conf добавились те же магические строки =) Вот такой вот он...ЫнтЫрпрайз.