【问题标题】:Connecting to oracle enterprise 11 from eclipse with Service Name使用服务名称从 eclipse 连接到 oracle 企业 11
【发布时间】:2014-11-25 16:19:20
【问题描述】:
作为 JPA 项目的一部分,我想从 eclipse 连接到 Oracle 11g Enterprise DB。我有服务名称、U/P 和主机名。但是eclipse中为我提供的选项是SID,我没有。
我使用 SQL Developer 连接到数据库,它运行良好。
我不确定如何使用服务名称从 eclipse 连接。有什么帮助吗?
我试图为 SID 提供服务名称。没用。
我使用的 Jar 是 ojdbc14.jar。不确定这是否是正确的 Jar。
【问题讨论】:
标签:
database
eclipse
oracle
jpa
connection
【解决方案1】:
SID 或系统标识符是在您在系统中安装 oracle11g 时创建的。它总是在那里。
我建议你在Sql Developer 上Edit Connection 并寻找SID,它必须在那里。
或者,您将有一个位于ORACLE_HOME > Network > Admin 的tnsnames.ora 文件,它看起来有点如下:
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = host)(PORT = XXXX))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = host)(PORT = XXXX))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
在最后 3 行寻找SERVICE_NAME=orcl,这里的orcl 是您的SID,您应该使用它从eclipse 连接到oracle。
【解决方案2】:
您可以使用 "Generic JDBC" 连接配置文件并直接指定 url:
jdbc:oracle:thin:@//host:port/service_name
【解决方案3】:
在创建新数据库连接时,您还可以通过使用“其他驱动程序”而不是 Oracle JDBC 瘦驱动程序来解决此问题。但是,在“连接配置文件”中添加“驱动程序”时,您必须添加您通常使用的相同 ojdbc jar,并在“新驱动程序定义”的“属性”选项卡中添加任何属性。
您可能遇到的第一个错误是:驱动程序定义中的必需属性缺少值:驱动程序类。
【解决方案4】:
请使用如下所示的完全限定连接 URL。
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(HOST=myhost)(PORT=1521)(PROTOCOL=tcp))(CONNECT_DATA=(SERVICE_NAME=myorcldbservicename))))
【解决方案5】:
您必须将驱动程序更改为 ojdbc6
1. -单击 ojdbc14.jar 并选择卸妆
2. 单击添加 jar 并浏览到您下载它的位置 orcaleDB 然后按照该路径 "\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib"
3. 选择ojdbc6驱动退出