我正在通过我的 java 程序连接到 Oracle 11g DB。我使用的是服务名称而不是 SID。
addr = jdbc:oracle:thin:@hostIP:1521:ServiceName
Class.forName("oracle.jdbc.OracleDriver");
Connection con = DriverManager.getConnection(addr,un,pw);
Statement stat = con.createStatement();
ResultSet rs = stat.executeQuery(SELECT * from Table);
这很好用。我能够连接到数据库并检索数据。
但是,如果我传递服务 ID 而不是服务名称,则代码不起作用!我得到例外。我尝试了这里提到的解决方案 - Java JDBC - How to connect to Oracle using Service Name 而不是 SID。但我仍然看到同样的例外。