powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Подключение к удаленной БД Oracle из java.
25 сообщений из 50, страница 2 из 2
Подключение к удаленной БД Oracle из java.
    #34380595
igor_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Под delphi есть компоненты - odac. Там когда создаеш объект соединения указываеш только
user, password и server. Все остальные настройки соответствуют тем , что использует клиент oracle. В java так можно подключаться ( в соответствии с клиентом )???
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34380627
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
\n   DriverManager.getConnection("jdbc:oracle:kprb:");\n   or:\n   DriverManager.getConnection("jdbc:default:connection:");\n

You can also use the Oracle-specific defaultConnection() method of the OracleDriver class which is
generally recommended:
Код: plaintext
\n   OracleDriver ora = new OracleDriver();\n   Connection conn = ora.defaultConnection();\n


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34380665
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34380668
igor_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Denis Popov

Те это для java - хранимых процедур??

Просто моя java - программа вызывается другой программой, которая уже отрывает соединение
с Oracle. Мне нужно использовать теже параметры что и она!!! Основная программа использует
odac ( а odac сама наверно парсит tnsnames.ora )...
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34380700
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor_dev wrote:
>
> Те это для java - хранимых процедур??

Да.

> Просто моя java - программа вызывается другой программой, которая уже
> отрывает соединение
> с Oracle. Мне нужно использовать теже параметры что и она!!! Основная
> программа использует
> odac ( а odac сама наверно парсит tnsnames.ora )...

Эти обе программы (c odac и твоя, на java) работают на одной машине?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34380723
igor_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да!
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34380761
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor_dev wrote:

> Да!

Тогда зачем тебе чего-то парсить? Из первой программы возьми логин, пароль и используемое имя из
tnsnames.ora (все это сохраняется в ODAC'е) и передай во вторую программу. А в ней открой соединение
через OCI-драйвер и полученные параметры. Если они обе на одной машине, то используя одно и то же
имя для tnsnames.ora ты, думаю, присоединишься к одной базе.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34380795
igor_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так втом-то и дело что в odac задается user pass и server, а мне для соединения нужен еще
хост...
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34380845
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
DriverManager.getConnection("jdbc:oracle:oci8:@<tns-name>", "scott","tiger");


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34380944
igor_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня такая форма почему-то неработает???

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)
)
)
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34380976
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor_dev wrote:

> у меня такая форма почему-то неработает???
>
> defaultConnection =
> DriverManager.getConnection("jdbc:oracle:oci9:@some_tnsname","user","pass"
> );


Что говорит? И почему oci 9 , а не oci 8 ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34380977
zalexaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popovпочему oci 9 , а не oci 8 ? так наверно круче
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34380992
igor_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34381001
igor_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А какой в jav'ke есть класс для работы с реестром?
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34381005
igor_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надеюсь можно без JNI:-)))
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34381025
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34381068
igor_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ocijdbc10.dll нет, а что oci9 неподходит?
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34381131
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor_dev wrote:

> ocijdbc10.dll нет,

Может быть ты не ставил поддержку JDBC при его установке, надо доустановить клиента.

>а что oci9 неподходит?

Это формат для использования oci-драйвера Oracle, отсебятины тут быть не может. Раз сказано
"jdbc:oracle:oci8:@", значит, именно так и не иначе.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34381356
max_from_sumy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor_devА какой в jav'ke есть класс для работы с реестром?

Интересно, а какой-такой реестр в линуксе?

igor_devНадеюсь можно без JNI:-)))

"Оставь надежду всяк сюда входящий"
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34381480
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вообще. Читать документацию надо. Там всё написано. "Парсить" как вы выражаетесь tnsnames.ora в любом случае не надо, достаточно при создании соединентия указать имя оттуда (и можно дополнительно любые параметры, например имя-пароль). Как тут правильно указывали, tnsnames.ora не используется если драйвер thin. tnsnames.ora может хранить данные соединения на стороне клиента (если установлен клиент Oracle). Можно хранить их на сервере приложений, используя ещё JDBC DataSource, в этом случае для соединения задавать имя DataSource, см. док. Подробнее не объясняю, т.к. см. док. Какая док. - во-первых, из комплекта док. по Oracle, во-вторых, в интернете есть книжки с рассмотрением работы с Oracle по JDBC. JDBC DataSource см. также в док. по серверу приложений.
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34381498
z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
z
Гость
Извините пожалуйста, igor_dev, но у меня есть к Вам несколько вопросов:
1) Вам не стыдно самому писать эту ерунду в форум вот уже на протяжении 2-х страниц?

2) Тема больше относится к разряду "Я не знаю Oracle. Как быть?" Может, лучше туда, в ветку Oracle?

3) Ваше нежелание прочитать элементарные сведения по поводу Oracle Client наводит на нехорошие мысли...

4) Желание посетителей отвечать на эту чушь наводит на неприятные мысли...
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34386394
igor_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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) Желание посетителей отвечать на эту чушь говорит о том, что это не чушь....
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34386433
igor_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Denis Popov

На данный момент делаю так:

В реестре ( скачал класс с Native методами для работы с Windows реестром ) нахожу
ORACLE_HOME и по нему вытаскиваю tnsnames.ora и parse....
С ocijdbc10.dll возится уже не хочу ( или стоит? )...

Еще раз спасибо ВСЕМ за ответы...

Если нет дополнений тема ЗАКРЫТА!!!
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34386522
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor_dev
В реестре ( скачал класс с Native методами для работы с Windows реестром ) нахожу ORACLE_HOME и по нему вытаскиваю tnsnames.ora и parse.... С ocijdbc10.dll возится уже не хочу ( или стоит? )
Смотри сам:
Это только для Windows, где есть реестр.

ORACLE_HOME может быть несколько, если уже это не учитывается.

По-моему ocijdbc10.dll (или соответствующие библиотеки для других платформ) можно доустановить через custom-инсталляцию клиента, странно, что его нет уже. Попробуй определить требуемый пункт инсталяции, когда он появится.
...
Рейтинг: 0 / 0
Подключение к удаленной БД Oracle из java.
    #34386721
igor_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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 все ок...
...
Рейтинг: 0 / 0
25 сообщений из 50, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Подключение к удаленной БД Oracle из java.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]