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);
これはうまくいきます。DBに接続してデータを取得できます。
ただし、サービス名の代わりにサービス ID を渡すと、コードが機能しません。例外が発生します。ここに記載されている解決策を試しました - Java JDBC - SID の代わりにサービス名を使用して Oracle に接続する方法。しかし、私はまだ同じ例外を見ています。