0

我正在使用一个需要访问我的 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 数据库:

  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 文件夹中

当我运行时,我收到此错误:

与 jdbc:oracle:thin:@HostName:Porto:ServiceName 的数据库连接失败(用户:用户名):侦听器拒绝连接并出现以下错误:ORA-12505,TNS:侦听器当前不知道连接描述中给出的 SID

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

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

4

1 回答 1

0

我发现了错误

应该是这样的

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

不是

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

于 2016-04-22T14:13:53.293 回答