ラベル jdbc の投稿を表示しています。 すべての投稿を表示
ラベル jdbc の投稿を表示しています。 すべての投稿を表示

2014年11月6日木曜日

サービス名でORACLE接続用URLの書き方


Thin形式のサービス名は、JDBC Thinドライバでのみサポートされます。
構文は次のとおりです。
@//ホスト名:リスナのポート番号:サービス名

例は次のようになります。
jdbc:oracle:thin:userXXX/passXXX@//172.168.13.4:1521/myservicename

SIDで接続用URLの構文は次のとおりです。
jdbc:oracle:thin:@ホスト名:リスナのポート番号:sid

例は次のようになります。
jdbc:oracle:thin:@localhost:1521:ORCL

JAVAのサンプルコードは以下のようです。
// Javaデータアクセスの基礎 サンプルコード(1)
// EMP表への問合せを実行するJavaアプリケーション
// JDBC APIをインポート
import java.sql.*;

class JavaDataAccess01 {
  public static void main (String args[])
  throws SQLException, ClassNotFoundException {
    // Oracle JDBC Driverのロード
    Class.forName("oracle.jdbc.driver.OracleDriver");
    // Oracle8iに接続
    Connection conn =
    DriverManager.getConnection
    ("jdbc:oracle:thin:@localhost:1521:ORCL", "scott", "tiger");
    // ステートメントを作成
    Statement stmt = conn.createStatement();
    // 問合せの実行
    ResultSet rset = stmt.executeQuery("select EMPNO, ENAME from EMP");
    // 問合せ結果の表示
    while ( rset.next() ) {
      // 列番号による指定
      System.out.println(rset.getInt(1) + "\t" + rset.getString(2));
           }
    // 結果セットをクローズ
    rset.close();
    // ステートメントをクローズ
    stmt.close();
    // 接続をクローズ
    conn.close();
  }
} 

2014年11月4日火曜日

RAC構成のORACLEへ接続ためのJDBC URL例

ラック構成のORACLE DBへ接続する場合、JDBCのURLはtnsnames.oraの記述内容と一致する必要があります。

例:
tnsnames.oraの内容は以下のようです
RACServer=
 (DESCRIPTION=
  (LOAD_BALANCE=ON)(FAILOVER=ON)
  (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.13.2)(PORT=1521))
  (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.13.3)(PORT=1521))
  (ADDRESS=(PROTOCOL=TCP)(HOST=dbserver03)(PORT=1521))
  (CONNECT_DATA=(SERVICE_NAME=ORCL))
 )
JDBCのURLは以下のようです
Class.forName("oracle.jdbc.OracleDriver");
String jdbcUrl = 
    "jdbc:oracle:thin:@(DESCRIPTION = (LOAD_BALANCE=ON)(FAILOVER=ON)" +
    "(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.13.2)(PORT = 1521))" +
    "(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.13.3)(PORT = 1521))" +
    "(ADDRESS = (PROTOCOL = TCP)(HOST = dbserver03)(PORT = 1521))" +
    "(CONNECT_DATA = (SERVICE_NAME = ORCL)))";
Connection con = DriverManager.getConnection(jdbcUrl, "userXXX", "passXXX");