使用数据源的Oracle数据库JDBC连接

9avjhtql  于 2023-06-22  发布在  Oracle
关注(0)|答案(1)|浏览(118)

我通过datasource连接到oracle数据库,众所周知,我们有两种类型的连接,一种使用sid,另一种使用服务名。对于服务名称连接

OracleDataSource dataSource = new OracleDataSource();
        dataSource.setDriverType("thin");
        dataSource.setServerName(hostname);
        dataSource.setPortNumber(Integer.parseInt(port));
        dataSource.setServiceName(serviceName);
        dataSource.setUser(username);
        dataSource.setPassword(password);

这工作得很好,但在这种情况下,如果我想建立一个连接使用sid,没有方法称为setSid()或类似的东西,有什么方法或我应该使用

String url = "jdbc:oracle:thin:@" + hostname + ":" + port + ":" + sid;
      dataSource.setUrl(url);
      dataSource.setUser(username);
      dataSource.setPassword(password);

我的方法是正确的还是我缺少了一些JDBC文档以供参考https://docs.oracle.com/en/database/oracle/oracle-database/19/jajdb/oracle/jdbc/pool/OracleDataSource.html

gwo2fgha

gwo2fgha1#

从文档中看,您可能会使用.setDatabaseName(sid),但我没有Oracle数据库来测试。

String url = "jdbc:oracle:thin:@" + hostname + ":" + port + ":" + sid;
      dataSource.setUrl(url);
      dataSource.setUser(username);
      dataSource.setPassword(password);
      dataSource.setDatabaseName(sid);

参考:www.example.com https://docs.oracle.com/en/database/oracle/oracle-database/19/jajdb/oracle/jdbc/pool/OracleDataSource.html#setDatabaseName_java_lang_String_
设置服务器上特定数据库的名称。在Oracle的术语中,这被称为SID(系统标识符)。

相关问题