JDBC thin driverを使用した接続のサンプル

 初めてやったので記録しておく
1.ソースファイル、JdbcTest.java作成(参考:http://download.oracle.com/docs/cd/E16338_01/java.112/b56281/getsta.htm#i1008334

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
import oracle.jdbc.pool.OracleDataSource;

class JdbcTest
{
  public static void main (String args []) throws SQLException
  {
    OracleDataSource ods = null;
    Connection conn = null;
    Statement stmt = null;
    ResultSet rset = null;

    // Create DataSource and connect to the local database
    ods = new OracleDataSource();
    ods.setURL("jdbc:oracle:thin:@//<=host_name=>:1521/<=service_name=>");
    ods.setUser("<=ora_user=>");
    ods.setPassword("<=ora_password=>");
    conn = ods.getConnection();

    try
    {
      // Query the employee names
      stmt = conn.createStatement ();
      rset = stmt.executeQuery ("SELECT <=col=> FROM <=table=>");

      // Print the name out
      while (rset.next ())
        System.out.println (rset.getString (1));
    }

      //Close the result set, statement, and the connection
    finally{
      if(rset!=null) rset.close();
      if(stmt!=null) stmt.close();
      if(conn!=null) conn.close();
    }
  }
}
EOF

※<=と=>で囲んだ各所に、<=host_name=>:Oracleが起動しているホスト名か、SCANのホスト名<=service_name=>:Oracleのサービス名、SIDではない。RACだったら末尾に1とか2とか点いてない方の名前<=ora_user=>:接続試験に使用するDBユーザ名<=ora_password=>:同パスワード<=col=>:接続試験でselectを実行するカラム名<=table=>:同テーブル名
をいれてやる。


2.環境変数設定

# #javacのある場所にPATHを通す
# export PATH=${PATH}:/hoge/fuga
# 
# CLASSPATHにjdbcファイル、およびカレントディレクトリを指定する
# export CLASSPATH=${CLASSPATH}:/hoga/fuge/ojdbc5.jar:/fuga/hoge/orai18n.jar:.


3.javac実行

# javac JdbcTest.java
# 


4.実行

# java JdbcTest
(ここにSQL文の結果が帰ってくる)


 CLASSPATHにカレントディレクトリを含めないと、4でClassNotFoundになる。その時は

# java -classpath ${CLASSPATH}:. JdbcTest

と、やることで回避可能。