Подключение Oracle к netBeans

По поводу подключения Oracle в качестве БД есть неплохая статья на netBeans.org

Однако, для тех кто раньше не работал с Oracle возникнет пару проблем, которые сейчас и попробуем решить.

Использовался Oracle XE 11g. Установку не описываю, однако, в дальнейшей работе может пригодиться thin-драйвер, который можно забрать здесь.

1) Пользователь, пароль и БД в Oracle XE легко можно создать из командной строки SQL plus, входящей в бесплатный Oracle SQL developer

После установки Oracle и запуска интерпретатора надо создать пользователя jperm:

Подключаемся под пользователем system с паролем, указанным при установке Oracle XE:


 * connect system;

Создаем пользователя jperm


 * create user jperm identified by mypassword default tablespace users temporary tablespace temp;

Создаем базу данных (в терминах oracle tablespace). Для этого надо руками создать пустой файл в любом месте, в котором будет храниться сама БД. Например: c:\project\jperm\tablespace.dat


 * create tablespace jperm datafile 'c:\project\jperm\tablespace.dat' size 140M reuse autoexents on next 2M maxsize 350M;

Даем все права пользователю jperm на базу данных jperm. В продакшене права надо настраивать более обдуманно.


 * grant all privileges on jperm to jperm;

2) Если все настроилось нормально, то можно приступать к инструкции и обламаться на шаге 6

В этом окошке надо в качестве SID оставить XE (он автоматически создается), в User Name указать jperm, а в Password его пароль. При нажатии Test Connection вылезет ошибка ORA-12705:    Cannot     access     NLS     <span style="font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;line-height:18px;color:red;"><span style="font-family:'CourierNew',monospace;">data  <span style="font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;line-height:18px;color:red;"><span style="font-family:'CourierNew',monospace;">   <span style="font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;line-height:18px;color:red;"><span style="font-family:'CourierNew',monospace;">files  <span style="font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;line-height:18px;color:red;"><span style="font-family:'CourierNew',monospace;">   <span style="font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;line-height:18px;color:red;"><span style="font-family:'CourierNew',monospace;">or  <span style="font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;line-height:18px;color:red;"><span style="font-family:'CourierNew',monospace;">invalid  <span style="font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;line-height:18px;color:red;"><span style="font-family:'CourierNew',monospace;">   <span style="font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;line-height:18px;color:red;"><span style="font-family:'CourierNew',monospace;">environment  <span style="font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;line-height:18px;color:red;"><span style="font-family:'CourierNew',monospace;">   <span style="font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;line-height:18px;color:red;"><span style="font-family:'CourierNew',monospace;">specified



Причина описана здесь, т.е. надо подредактировать файл, который у меня расположен в C:\Program Files\NetBeans 7.3 Beta 2\etc\netbeans.conf, а также установить переменну среды


 * set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1

Перезапускаем netBeans и в этот раз тестирование пройдет удачно и можно будет работать с Oracle из netBeans.

P.S. команды писал по памяти, за точную работу не ручаюсь.