|
|
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
Под delphi есть компоненты - odac. Там когда создаеш объект соединения указываеш только user, password и server. Все остальные настройки соответствуют тем , что использует клиент oracle. В java так можно подключаться ( в соответствии с клиентом )??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 14:32:11 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
igor_dev wrote: > Автор: "igor_dev" > Denis Popov > > Ок парсим tnsnames.ora... а как узнать ORACLE_HOME? Записи в реестре? Наверное, например: http://www.sql.ru/forum/actualthread.aspx?tid=24891 http://www.sql.ru/forum/actualthread.aspx?tid=241476 На *nix\'ах придется по-другому. > defaultConnection = (new > oracle.jdbc.driver.OracleDriver()).defaultConnection(); > > Здесь подразумевается открытое самой java - программой соединение? Oralce provides four types of JDBC driver. .... Server-Side Internal Driver for code that runs inside the target server, that is, inside the Oracle server that it must access. The Server-Side Internal driver type is kprb and it actually runs within a default session. You are already "connected". Therefore the connection should never be closed. To access the default connection, write: Код: plaintext You can also use the Oracle-specific defaultConnection() method of the OracleDriver class which is generally recommended: Код: plaintext Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 14:41:50 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
igor_dev wrote: > Под delphi есть компоненты - odac. Там когда создаеш объект соединения > указываеш только > user, password и server. Все остальные настройки соответствуют тем , что > использует клиент oracle. В java так можно подключаться ( в соответствии > с клиентом )??? Повторюсь: Thin-драйвер не требует ораклового клиента вообще и, соответственно, не содержит определение его настроек. По-моему, это наиболее востребованный тип соединения из Java к Oracle, и имхо можно начать с него: ничего не парсить, пусть пользователь задает сам все параметры соединения в формате thin-драйвера: host:port:service_name. Если ты сознательно решил связаться с OCI-драйвером, то по-моему публичного класса(-в) для разбора tnsnames.ora нет. Разве что можно подсмотреть чужой код, гже это реализовано, например: AquaFold Aqua Data Studio http://www.aquafold.com/ Oracle SQL Developer http://www.oracle.com/technology/software/products/sql/index.html или еще где. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 14:51:54 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
Denis Popov Те это для java - хранимых процедур?? Просто моя java - программа вызывается другой программой, которая уже отрывает соединение с Oracle. Мне нужно использовать теже параметры что и она!!! Основная программа использует odac ( а odac сама наверно парсит tnsnames.ora )... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 14:52:39 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
igor_dev wrote: > > Те это для java - хранимых процедур?? Да. > Просто моя java - программа вызывается другой программой, которая уже > отрывает соединение > с Oracle. Мне нужно использовать теже параметры что и она!!! Основная > программа использует > odac ( а odac сама наверно парсит tnsnames.ora )... Эти обе программы (c odac и твоя, на java) работают на одной машине? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 15:03:03 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
Да! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 15:09:16 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
igor_dev wrote: > Да! Тогда зачем тебе чего-то парсить? Из первой программы возьми логин, пароль и используемое имя из tnsnames.ora (все это сохраняется в ODAC'е) и передай во вторую программу. А в ней открой соединение через OCI-драйвер и полученные параметры. Если они обе на одной машине, то используя одно и то же имя для tnsnames.ora ты, думаю, присоединишься к одной базе. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 15:21:14 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
Так втом-то и дело что в odac задается user pass и server, а мне для соединения нужен еще хост... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 15:31:52 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
igor_dev wrote: > Так втом-то и дело что в odac задается user pass и server, а мне для > соединения нужен еще > хост... Хост тебе нужен ждя соединения через thin-драйвер. Если будешь использовать oci-драйвер, то тебе к логину и паролю потребуется только имя из tnsnames.ora, там же указано: http://www.oracle.com/technology/sample_code/tech/java/sqlj_jdbc/htdocs/templates.htm#OCIDriverConnection Код: plaintext Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 15:46:13 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
у меня такая форма почему-то неработает??? defaultConnection = DriverManager.getConnection("jdbc:oracle:oci9:@some_tnsname","user","pass" ); some_tnsname = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = MY_HOST)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = some_name) ) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 16:12:54 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
igor_dev wrote: > у меня такая форма почему-то неработает??? > > defaultConnection = > DriverManager.getConnection("jdbc:oracle:oci9:@some_tnsname","user","pass" > ); Что говорит? И почему oci 9 , а не oci 8 ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 16:21:51 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
Denis Popovпочему oci 9 , а не oci 8 ? так наверно круче ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 16:23:50 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
defaultConnection = DriverManager.getConnection("jdbc:oracle:oci9:@askue","askue","askue" ); Задан неверный URL Oracle defaultConnection = DriverManager.getConnection("jdbc:oracle:oci8:@askue","askue","askue" ); Exception in thread "main" java.lang.UnsatisfiedLinkError: no ocijdbc10 in java.library.path ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 16:29:43 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
А какой в jav'ke есть класс для работы с реестром? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 16:31:15 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
Надеюсь можно без JNI:-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 16:32:42 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
igor_dev wrote: > defaultConnection = > DriverManager.getConnection("jdbc:oracle:oci8:@askue","askue","askue" ); > > Exception in thread "main" java.lang.UnsatisfiedLinkError: no ocijdbc10 > in java.library.path Убедись, что у тебя есть файл %ORACLE_HOME%\bin\ocijdbc10.dll и директория %ORACLE_HOME%\bin указана в переменной среды PATH. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 16:39:38 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
ocijdbc10.dll нет, а что oci9 неподходит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 16:55:05 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
igor_dev wrote: > ocijdbc10.dll нет, Может быть ты не ставил поддержку JDBC при его установке, надо доустановить клиента. >а что oci9 неподходит? Это формат для использования oci-драйвера Oracle, отсебятины тут быть не может. Раз сказано "jdbc:oracle:oci8:@", значит, именно так и не иначе. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 17:16:03 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
igor_devА какой в jav'ke есть класс для работы с реестром? Интересно, а какой-такой реестр в линуксе? igor_devНадеюсь можно без JNI:-))) "Оставь надежду всяк сюда входящий" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 18:55:50 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
Ну вообще. Читать документацию надо. Там всё написано. "Парсить" как вы выражаетесь tnsnames.ora в любом случае не надо, достаточно при создании соединентия указать имя оттуда (и можно дополнительно любые параметры, например имя-пароль). Как тут правильно указывали, tnsnames.ora не используется если драйвер thin. tnsnames.ora может хранить данные соединения на стороне клиента (если установлен клиент Oracle). Можно хранить их на сервере приложений, используя ещё JDBC DataSource, в этом случае для соединения задавать имя DataSource, см. док. Подробнее не объясняю, т.к. см. док. Какая док. - во-первых, из комплекта док. по Oracle, во-вторых, в интернете есть книжки с рассмотрением работы с Oracle по JDBC. JDBC DataSource см. также в док. по серверу приложений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 20:20:57 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
Извините пожалуйста, igor_dev, но у меня есть к Вам несколько вопросов: 1) Вам не стыдно самому писать эту ерунду в форум вот уже на протяжении 2-х страниц? 2) Тема больше относится к разряду "Я не знаю Oracle. Как быть?" Может, лучше туда, в ветку Oracle? 3) Ваше нежелание прочитать элементарные сведения по поводу Oracle Client наводит на нехорошие мысли... 4) Желание посетителей отвечать на эту чушь наводит на неприятные мысли... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 20:35:19 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
zИзвините пожалуйста, igor_dev, но у меня есть к Вам несколько вопросов: 1) Вам не стыдно самому писать эту ерунду в форум вот уже на протяжении 2-х страниц? 2) Тема больше относится к разряду "Я не знаю Oracle. Как быть?" Может, лучше туда, в ветку Oracle? 3) Ваше нежелание прочитать элементарные сведения по поводу Oracle Client наводит на нехорошие мысли... 4) Желание посетителей отвечать на эту чушь наводит на неприятные мысли... 1) Не стыдно! То что я только начинаю с Oracle "дружить" ( "дружить" это c натяжкой ) я считаю это не грех! Перед тем как писать на форум я конечно читаю доку по Oracle и JDBC НО они очень скупые !!! Т.е. если там , например, описана какая-либо форма подключения к Oracle из java, то моментов с версиями драйверов, dll типа ocijdbc10.dll которые недоустоновлены при подключении Oracle - клиетна и.т.д и.т.п там НЕТ!!! И для этого есть форум и добрые люди такие как Denis Popov ( большая личная благодарность! вы мне очень помогаете!!! ) и ДРУГИЕ с которых "корона не упадет" ответить на ламерские вопросы!!! И то что тема затянулась на "АЖ ДВЕ СТРАНИЦЫ" говорит о том, что не все так однозпачно ( например одни говорят парсить, а другие нет... ) 2) Учу но это же не дело одного дня... 3) Каждый думает в меру своей распущености.... 4) Желание посетителей отвечать на эту чушь говорит о том, что это не чушь.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2007, 11:09:39 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
Denis Popov На данный момент делаю так: В реестре ( скачал класс с Native методами для работы с Windows реестром ) нахожу ORACLE_HOME и по нему вытаскиваю tnsnames.ora и parse.... С ocijdbc10.dll возится уже не хочу ( или стоит? )... Еще раз спасибо ВСЕМ за ответы... Если нет дополнений тема ЗАКРЫТА!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2007, 11:18:13 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
igor_dev В реестре ( скачал класс с Native методами для работы с Windows реестром ) нахожу ORACLE_HOME и по нему вытаскиваю tnsnames.ora и parse.... С ocijdbc10.dll возится уже не хочу ( или стоит? ) Смотри сам: Это только для Windows, где есть реестр. ORACLE_HOME может быть несколько, если уже это не учитывается. По-моему ocijdbc10.dll (или соответствующие библиотеки для других платформ) можно доустановить через custom-инсталляцию клиента, странно, что его нет уже. Попробуй определить требуемый пункт инсталяции, когда он появится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2007, 11:44:38 |
|
||
|
Подключение к удаленной БД Oracle из java.
|
|||
|---|---|---|---|
|
#18+
Denis Popov Ну я только под Windows ... То, что ORACLE_HOME несколько я учитываю (LAST_HOME и.т.д) Еще вопрос срочно нужно (нехочу новую тему открывать :-)) Я работаю с netBeans 5.5 jdk 1.5.0_04. C Oracle 9i поставляется jdk 1.3. Я хочу откомпилить под нее, чтобы можно было свою jdk не таскать...Вы не знаете как поменять jdk в NetBeans 5.5??? Пробую менять опцию --jdkhome в файле ''netbeans.conf'' но после этого среда незапускается!!Указываю обратно путь к jdk 1.5 все ок... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2007, 12:20:00 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34386522&tid=2146406]: |
0ms |
get settings: |
13ms |
get forum list: |
23ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
40ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
81ms |
get tp. blocked users: |
2ms |
| others: | 272ms |
| total: | 460ms |

| 0 / 0 |
