我正在使用 Oracle JDeveloper 11.1.1.4.0,只要指定主机,我就可以Oracle (JDBC)
使用驱动程序创建数据库连接(类型为 )而不会出现任何问题。thin
例如,我可以通过指定以下内容连接到本地运行的 Oracle XE 数据库:
Driver: thin
Host Name: localhost
JDBC Port: 1521
Service Name: XE
为了连接到远程数据库,我使用 TNS,我的tnsnames.ora
文件设置如下,MYDATABASE.EXAMPLE.COM
我想使用的 Oracle 服务标识符在哪里。
MYDATABASE.EXAMPLE.COM=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=testdb.example.com)
(PORT=1234)
)
(CONNECT_DATA=
(SERVICE_NAME=MYDATABASE.example.com)
)
)
与此机器的 SQL Developer、SQL Plus、TNSPING 等服务的连接,MYDATABASE.EXAMPLE.COM
但我找不到在 JDeveloper 数据库连接中指定此功能的方法,而无需强制指定主机。
我不想指定主机的原因与我们首先使用 TNS 的原因相同——testdb.example.com
主机会随着时间而改变,但MYDATABASE.EXAMPLE.COM
TNS 服务标识符不会。
如果我指定主机testdb.example.com
以及正确的 TNS 别名,则连接有效。如果我指定了错误的标识符,它就会失败——它肯定知道我的 tnsnames.ora 文件的内容。
像这样的帖子似乎表明,如果 JDeveloper 知道 TNS_ADMIN,它将使用tnsnames.ora
,但即使使用“输入自定义 JDBC URL”也不起作用,使用如下字符串:
jdbc:oracle:thin:MYDATABASE.EXAMPLE.COM
它仍然给出“请输入主机名的有效值”错误。
有人知道如何在不指定主机的情况下在 JDeveloper 中创建数据库连接吗?