Чтобы присоединяться в базу данных посредством jdbc требуется особенно построенный унифицированный указатель ресурса (универсальный Локатор Ресурсов). У меня есть база данных Oracle Express Edition
конфигурировавшая локально.
Как я могу способствовать тому, чтобы база данных произвела унифицированный указатель ресурса связи посредством консультации?
Я знаю 4 формата, предполагая, что используется драйвер Oracle Thin
, возможно использовать следующую консультацию:
SELECT
USER
||'/******@'
|| sys_context('userenv','db_name') as simpleconnection
,'jdbc:oracle:thin:'
||USER
||'/******@'
|| sys_context('userenv', 'server_host') --host
|| ':'
|| sys_context('USERENV', 'SID') --port
|| ':'
|| sys_context('userenv','db_name') AS "Oracle Ocho" --SID
,'jdbc:oracle:thin:'
||USER
||'/******@'
||sys_context('userenv', 'server_host') --host
||':'
||sys_context('USERENV', 'SID') --port
||'/'
|| sys_context('userenv','service_name') AS "Forma Host"
,'jdbc:oracle:thin:'
||USER
||'/******@'
||sys_context('userenv', 'ip_address') --ip
||':'
||sys_context('USERENV', 'SID') --port
||'/'
|| sys_context('userenv','service_name') AS "Forma IP"
,'jdbc:oracle:thin:'
||USER
||'/******@(description=(address=(host='
||sys_context('userenv', 'server_host') --host
||')(protocol='
||sys_context('userenv', 'network_protocol') --protocol
||')(port='
||sys_context('USERENV', 'SID') --port
||'))(connect_data=(service_name='
|| sys_context('userenv','service_name') --service name
||')(server='
||sys_context('userenv','host') --name of the machine
||')))' AS "Forma TNS"
FROM dual d;
Как таковая BD не производит тебе connenction string, из-за остальных - говорить, что это работа, которой не требует BD ни для чего.
Формат для thin client
jdbc:oracle:thin:@<HOST>:<PORT>:<SID>
драйвер ямс: oracle.jdbc.driver. OracleDriver
Также ты можешь посылать это за OCI
Oracle OCI 8i
jdbc:oracle:oci8:@<SID>
** драйвер ямс: ** oracle.jdbc.driver. OracleDriver
Oracle OCI 9i
jdbc:oracle:oci:@<SID>
драйвер ямс: oracle.jdbc.driver. OracleDriver
Чтобы использовать их это просто, это классический пример связи
String connString="jdbc:oracle:thin:@prodHost:1521:ORCL";
OracleDataSource ods = new OracleDataSource();
ods.setURL(connString);
ods.setUser("scott");
ods.setPassword("tiger");
Connection conn = ods.getConnection();
И это другой классический пример используя синтаксис TNS Ямс. МОЛИСЬ
String connString = "jdbc:oracle:thin:@(description=(address_list=
(address=(protocol=tcp)(port=1521)(host=prodHost)))
(connect_data=(INSTANCE_NAME=ORCL)))";
OracleDataSource ods = new OracleDataSource();
ods.setURL(connString);
ods.setUser("scott");
ods.setPassword("tiger");
Connection conn = ods.getConnection();
Здесь у тебя есть full документация
докуда я знаю не возможно производить цепь связи с той же базы данных, однако очень простая создания, кроме того существуют множества примеров в Интернете:
SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort))(CONNECT_DATA=(SERVICE_NAME=MyOracleSID)));uid=myUsername;pwd=myPassword;
смоги заменять с 'XE', если ты используешь версию XE oracle.