如何设置 oracle JDBC 数据库 URL

how to set oracle JDBC database URL

我正在使用需要访问我的 oracle 数据库以对我的数据执行某些任务的应用程序。

该应用程序需要两个属性,它们是:

d2rq:jdbcDSN

JDBC 数据库 URL。这是 jdbc:subprotocol:subname 形式的字符串。对于 MySQL 数据库,这类似于 jdbc:mysql://hostname:port/dbname。 Examples for other databases#

d2rq:jdbcDriver

数据库的 JDBC 驱动程序 class 名称。与 d2rq:jdbcDSN 一起使用。示例:com.mysql.jdbc.Driver 对应 MySQL。 #

我想连接到具有此版本的 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 数据库:

  1. 主机名
  2. 用户名和密码
  3. 服务名称
  4. 架构

现在要从这个新应用程序(现在是 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 文件夹

当我 运行 时,我得到这个错误:

Database connection to jdbc:oracle:thin:@HostName:Porto:ServiceName failed (user: UserName): Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect description

听起来 SID 应该替换为服务名称。 (我不确定)你知道如何解决它吗?我做的是否正确?

当然,出于隐私原因我隐藏了真实的数据库和主机和密码所以请打扰我

我发现了错误

应该是这样的

jdbc:oracle:thin:@hostname:porto/servicename

没有

jdbc:oracle:thin:@hostname:porto:servicename