我通过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
1条答案
按热度按时间gwo2fgha1#
从文档中看,您可能会使用
.setDatabaseName(sid)
,但我没有Oracle数据库来测试。参考: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(系统标识符)。