関連する記事 Java 8 で、sun.jdbc.odbc.JdbcOdbcDriver を使う手順 このサンプルは、Java をバッチでビルドして実行するサンプルです( SDK さえあれば実行できます ) ソースコードは SHIFT_JIS です。UTF-8 でビルドしたい場合は、UTF-8N で保存しなおして javac のパラメータに -encoding utf-8 を追加して下さい。ソースコード内のJDBC-ODBC ブリッジでの日本語設定用プロパティが必要がどうかは環境によって異なると思いますが、一応設定して動作しています。同様の機能が、RDBMS 側で用意されている場合(MySQL等)もあるので注意して下さい。
import java.util.*; import java.sql.*; public class Main { // *************************** // エントリポイント // *************************** public static void main(String[] args) { Main thisClass = new Main(); } // *************************** // コンストラクタ // *************************** public Main() { super(); my_acton(); } // *************************** // 初期処理 // *************************** private void my_acton() { // 接続用 Connection con = null; // クエリー(SQL)用 Statement stmt = null; // 結果セット用 ResultSet rset = null; // 表示ツール MyTool out = new MyTool(">>>"); out.println("処理開始"); // 接続文字列 String connectionString = ""; // *************************** // ODBC 接続文字列 // *************************** connectionString = "Provider=MSDASQL" + ";Driver={Microsoft Access Driver (*.mdb, *.accdb)}" + ";Dbq=" + System.getProperty("user.dir") + "\\販売管理B.accdb"+ ";"; // 日本語設定用プロパティ Properties prop = new Properties(); prop.put("charSet", "MS932"); out.println(connectionString); try { // 接続 con = DriverManager.getConnection("jdbc:odbc:"+connectionString, prop); // ステートメント作成 stmt = con.createStatement(); // SQL より レコードセット取得 rset = stmt.executeQuery ( "select * from 社員マスタ" ); // 一覧表示 while( rset.next() ) { out.println( rset.getString( "氏名" ) ); } // 後処理 rset.close(); stmt.close(); con.close(); } catch (Exception ex) { ex.printStackTrace(); return; } out.println("処理終了"); } // *************************** // 内部用クラス // *************************** private class MyTool { private String mark = null; MyTool(String pm) { mark = pm; } public void println(String str) { System.out.println( this.mark + str ); } } }
以下は接続文字列のサンプルです。Oracle は 純正ドライバを使用したほうが無難です。
// ********************************************* // Java sun.jdbc.odbc.JdbcOdbcDriver 用 // 各種 RDBMS 接続文字列 // ********************************************* String connectionString = ""; // ********************************************* // MDB // ********************************************* connectionString = "Provider=MSDASQL" + ";Driver={Microsoft Access Driver (*.mdb, *.accdb)}" + ";Dbq=" + System.getProperty("user.dir") + "\\販売管理B.mdb"+ ";"; // ********************************************* // MySQL // ********************************************* connectionString = "Provider=MSDASQL" + ";Driver={MySQL ODBC 5.3 Unicode Driver}" + ";SERVER=localhost" + ";DATABASE=lightbox" + ";UID=root" + ";PWD=password" + ";Charset=sjis" + ";"; // ********************************************* // Oracle( 純正 ) // ********************************************* connectionString = "Provider=MSDASQL" + ";Driver={Oracle in OraClient11g_home1}" + ";DBQ=vpc-019/ORCL" + ";UID=LIGHTBOX" + ";PWD=LIGHTBOX" + ";"; // ********************************************* // SQLServer // SERVER は別名 // ********************************************* connectionString = "Provider=MSDASQL" + ";Driver={SQL Native Client}" + ";SERVER=lightbox" + ";DATABASE=lightbox" + ";UID=sa" + ";PWD=password" + ";"; connectionString = "Provider=MSDASQL" + ";Driver={SQL Server}" + ";SERVER=lightbox" + ";DATABASE=lightbox" + ";UID=sa" + ";PWD=password" + ";";
関連する記事 ODBC ドライバの列挙 Eclipse + WindowBuilder : JDBC と ODBC を使った、オールマイティなデータベース接続サンプル( MySQL / SQLServer / Oracle / Postgres / MS Access) javamail でメール送信と、付属のバッチビルド用のスクリプトの解説
|
【java : データベースの最新記事】