суббота, 16 августа 2008 г.

Последняя запись на blogspot'е.

Это сообщение всем своим видом сообщает, что данный блог закрыт по причине переезда на другую платформу.

RSS уже обновлен и натравлен на временное пристанище на wordPress'е. А нет ничего более постоянного, чем временное =) Цель данного переезда в том, чтобы в конечно итоге переползти на stand-alone блог и сделать ему более приветливый вид =) А WordPress подходит для этого чуть лучше, как мне кажется. Все записи успешно импортированы туда, вместе с комментариями. Спасибо команде WordPress за этот безболезненный переезд =)

Писать чаще не обещаю, да и не нужно это. Следите за изменениями на SmartMasses, там постоянно появляются новые товары, а лучше подпишитесь на RSS и тогда все обновления и скидочные акции будут падать вам в ридер.

Мой эксперимент с Oracle можно считать начавшимся, с понедельника приступаю к написанию агрегатов. Читаю Тома Кайта на ночь и восхищаюсь изворотливостью человеческого разума =)


BTheMad

воскресенье, 10 августа 2008 г.

Oracle, JDeveloper и PL/SQL

Так уж получилось, что я решил чуть-чуть сместить фокус своей девелоперской деятельности в сторону 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 добавились те же магические строки =) Вот такой вот он...ЫнтЫрпрайз.