Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


17.20 JDBCドライバを使用したUAP例

JDBCドライバを使用したUAP例を次に示します。

指定した条件と一致する行を表示させるSQL文を実行します。SQL文のエラー判定をして,エラーがある場合はエラー情報を取得します。

import java.sql.*;
import java.io.*;
import java.util.Properties;
 
public class SAMPLE {
 
    public static void main(String[] args) {
 
        //接続オブジェクト変数
        String url = "jdbc:hitachi:hirdb://DBID=22200,DBHOST=host1";
        String user = "USER1";
        String passwd = "USER1";
        String driver = "JP.co.Hitachi.soft.HiRDB.JDBC.HiRDBDriver";
        try {
            Class.forName(driver);
        }catch(Exception e){e.printStackTrace();return;} 
 
        Connection con = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;
 
        // *** 環境変数 ***
        java.util.Properties info = new java.util.Properties();
        info.setProperty("user",user);
        info.setProperty("password",passwd);
        info.setProperty("HiRDB_for_Java_ENV_VARIABLES",
                     "PDCLTPATH=C:\\tmp;PDSQLTRACE=0;PDPRMTRC=INOUT;");
        // ************
 
        //Driverの登録及びロード
        System.setProperty("jdbc.drivers", 
                           "JP.co.Hitachi.soft.HiRDB.JDBC.HiRDBDriver");
 
        //環境構築
        try {
            // 接続  ..................................................1
            con = DriverManager.getConnection(url,info);
 
            // *********************************************
            // SAMPLE1(C1 INT,C2 INT,C3 VARCHAR(30))の検索例  .........2
            // *********************************************
            // PreparedStatement取得
            pstmt = con.prepareStatement
                            ("SELECT C2,C3 FROM SAMPLE1 WHERE C1 = ? ");
            // ?パラメタの設定(C1=200)
            pstmt.setInt(1,200);
            // ResultSet取得
            rs = pstmt.executeQuery();
            int cnt=1;
            System.out.println("**** 検索実行 ****");
            while(rs.next()){
                System.out.println("**** "+cnt+"行目検索 ***");
                // C2データの取得&表示
                int i_data = rs.getInt(1);
                System.out.println("C2="+i_data);
                // C3データの取得&表示
                String c_data = rs.getString(2);
                System.out.println("C3="+c_data);
                cnt++;
            }
            // ResultSetの解放
            rs.close();
            // PreparedStatementの解放
            pstmt.close();
            // 切断  ..................................................3
            con.close();
            }
 
        catch(SQLException e){  .......................................4
            // エラー情報出力
            e.printStackTrace();
            // 個別情報は以下の処理で取得
            // SQLSTATEの出力
            System.out.println("SQLSTATE=" + e.getSQLState());
            // SQLCODEの出力
            System.out.println("SQLCODE=" + e.getErrorCode());
            // SQLERRM(SQLメッセージ)の出力
            System.out.println("SQLERRM=" + e.getMessage());
            return;
        }
    }
}
[説明]
  1. getConnectionメソッドを使用してHiRDBへ接続します。

  2. 指定した条件と一致する行を表示させるSQL文を実行します。

  3. closeメソッドを使用してHiRDBから切断します。

  4. エラーになった場合はSQLExceptionを返し,エラー情報を出力します。