我正在使用一个需要访问我的 oracle 数据库以使用我的数据执行一些任务的应用程序。
该应用程序需要两个属性,它们是:
d2rq:jdbcDSN
JDBC 数据库 URL。这是一个 jdbc:subprotocol:subname 形式的字符串。对于 MySQL 数据库,这类似于 jdbc:mysql://hostname:port/dbname。其他数据库的示例#
d2rq:jdbcDriver
数据库的 JDBC 驱动程序类名。与 d2rq:jdbcDSN 一起使用。示例:用于 MySQL 的 com.mysql.jdbc.Driver。#
我想连接到具有此版本的 Oracle 数据库
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
"CORE 11.2.0.4.0 Production"
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
SQL developer
通常我使用我刚刚设置的应用程序连接到我的 oracle 数据库:
- 主机名
- 用户名和密码
- 服务名称
- 架构
现在要从这个新应用程序(现在是 sql 开发人员)连接到我的数据库,我需要这样做(从这个页面http://www.devx.com/tips/Tip/28818)
jdbc:oracle:thin:@<HOST>:<PORT>:<SID>
oracle.jdbc.driver.OracleDriver
所以我将该模板更改为:
jdbc:oracle:think:@HostName:port:ServiceName
我将它复制 ojdbc6.jar
到 bin 文件夹中
当我运行时,我收到此错误:
与 jdbc:oracle:thin:@HostName:Porto:ServiceName 的数据库连接失败(用户:用户名):侦听器拒绝连接并出现以下错误:ORA-12505,TNS:侦听器当前不知道连接描述中给出的 SID
听起来 SID 应该替换为服务名称。(我不确定)您是否知道如何解决它以及我所做的是否正确?