2016-09-06 70 views
0

我想通过SQL中继代理到Oracle数据库的所有数据库连接。我已成功地安装该工具和我的配置文件看起来像这样:JDBC连接字符串到sqlrelay

λ sqlrsh -id oracletest 
sqlrsh - Version 0.65.0 
    Connected to: localhost:9000 as oracletest 

    type help; for help. 

0> select * from dual; 
DUMMY 
===== 
X 

    Rows Returned : 1 
    Fields Returned : 1 
    Elapsed Time : 0.055000 sec 

我尝试连接到SQL继电器:

<?xml version="1.0"?> 
<!DOCTYPE instances SYSTEM "sqlrelay.dtd"> 
<instances> 
    <instance id="oracletest" dbase="oracle"> 
      <users> 
        <user user="oracletest" password="oracletest"/> 
      </users> 
      <connections> 
        <connection string="user=<confidential>;password=<confidential>;oracle_sid=<confidential>"/> 
      </connections> 
    </instance> 
</instances> 

我可以使用SQL继电器提供的工具,如连接到数据库通过使用SQL Developer和JDBC通过提供一个连接字符串像

jdbc:oracle:thin:oracletest/[email protected]:9000:<SID> 

,但我想不通的SID应该是什么(oracletest,甲骨文似乎不工作)。请帮忙。

回答

1

如果您的JDBC URL启动jdbc:oracle:thin:那么这意味着您要使用通常用于连接到Oracle数据库的Oracle JDBC驱动程序。但是,在这里您要连接到Sqlrelay。

Sqlrelay没有原生JDBC驱动程序。您必须使用JDBC-ODBC桥来连接它。这在本文档中有描述: http://sqlrelay.sourceforge.net/sqlrelay/programming/jdbc.html