相关疑难解决方法(0)

Java JDBC - 如何使用服务名称而不是SID连接到Oracle

我有一个使用JDBC(通过JPA)的Java应用程序,它使用主机名,端口和Oracle SID连接到开发数据库,​​如下所示:

JDBC:神谕:薄:@ oracle.hostserver1.mydomain.ca:1521:XYZ

XYZ是Oracle SID.现在我需要连接到不使用SID的不同Oracle数据库,而是使用Oracle"服务名称".

我试过这个,但它不起作用:

JDBC:神谕:薄:@ oracle.hostserver2.mydomain.ca:1522:ABCD

ABCD是另一个数据库的服务名称.

我究竟做错了什么?

java oracle connection-string jdbc service-name

242
推荐指数
5
解决办法
55万
查看次数

TNS-12505:TNS:监听器当前不知道连接描述符中给出的SID

我正在尝试使用以下连接字符串从NetBeans连接到Oracle 10.2.0:

jdbc:oracle:thin:@localhost:1521:XE
Run Code Online (Sandbox Code Playgroud)

最奇怪的部分是一切正常,直到重新启动之一.我一直开始得到这个TNS-12505错误; 看看我的最终作品listener.log:

TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production on 14-APR-2011 13:46:48

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

System parameter file is D:\oraclexe\app\oracle\product\10.2.0\server\network\admin\listener.ora
Log messages written to D:\oraclexe\app\oracle\product\10.2.0\server\network\log\listener.log
Trace information written to D:\oraclexe\app\oracle\product\10.2.0\server\network\trace\listener.trc
Trace level is currently 0

Started with pid=3460
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC_FOR_XEipc)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Brodyaga-PC)(PORT=1521)))
Listener completed notification to CRS on start

TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE
14-APR-2011 13:48:54 * (CONNECT_DATA=(SID=XE)(CID=(PROGRAM=JDBC …
Run Code Online (Sandbox Code Playgroud)

oracle tnsnames jdbc listener

53
推荐指数
4
解决办法
26万
查看次数