我正在使用一个需要访问我的oracle数据库的应用程序来处理我的数据。
该应用程序需要两个属性:
JDBC数据库URL。这是jdbc:subprotocol:subname形式的字符串。对于MySQL数据库,这类似于jdbc:mysql:// hostname:port / dbname。 Examples for other databases#
数据库的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失败(用户:UserName):监听器拒绝连接,出现以下错误: ORA-12505,TNS:监听器当前不知道连接描述中给出的SID
听起来应该用服务名称替换SID。 (我不确定)你对如何解决它有任何想法,如果我做的是正确的吗?
答案 0 :(得分:0)
我发现了错误
应该是这样的
JDBC:预言:瘦:@hostname:波尔图/服务名
不
JDBC:预言:瘦:@hostname:波尔图:服务