Java+DataBase
'99/10/29更新
JavaでDBを使用したアプリケーションを開発するにはJDKとJDBCドライバが必要です。 JDBCドライバはタイプ1からタイプ4まで分類されます。 JavaアプリケーションとJavaアプレットを開発するのに使用できるJDBCドライバには制限があります。以下にその関係を示します。
Java Applet | Java Application | |
タイプ1のJDBCドライバ | × | ○ |
タイプ2のJDBCドライバ | × | ○ |
タイプ3のJDBCドライバ | ○ | ○ |
タイプ4のJDBCドライバ | ○ | ○ |
○:開発可能、×:開発不可能
通常、C/S型ののwebアプリケーション開発にはJavaアプレットが用いられ、タイプ3,4のJDBCドライバが必要です。
これらのドライバは有料の場合がほとんどです。
手軽に試せるのが、JDK1.1,JAVA2(JDK1.2)に付属しているタイプ1のJDBCドライバです。
このドライバーを使用したプログラム作成を解説した本が、以下の「実践JDBC Javaデータベースプログラミング術」です。
参考資料
お薦めの本、作者のHPは大変参考になります。Javaアプリケーション開発に JDK1.1+Access95/97 を、Javaアプレット開発に VisualCafe2.0J for Java DB開発版(JDK、タイプ3のJDBC、Sybase SQL Anywhereなど含む)を使用しています。
データベースの特集をしています。参考になると思います。
Netscape Communicator でJavaAppletを実行するとき参考になります。
無料のタイプ3のドライバです。
データベースの特集をしています。参考になると思います。
参考資料であげた「実践JDBC Javaデータベースプログラミング術」に掲載されているプログラムをベースにし、 プログラム開発する場合に必要なテクニックを紹介します。
・DataBaseソフトをAccess97/95からたとえばSQL Server6.5に変更したいとき、P.62のプログラム(jpSample1.java)を例に
String url = "jdbc:odbc:BANK";
String user = "guest";
String password = "guest";
をSQL Server6.5のODBCドライバ用に変えます。byte b[] = ex.getMessage().getBytes("8859_1");
String url = "jdbc:odbc:BANK_sql";
String user = "sa";
String password = "";
System.err.print("Message : ");
System.err.println(new String(b, "SJIS"));
を以下のように変えます。
System.err.println("Message : " + ex.getMessage());
SQL Server用のODBCドライバがUnicodeに対応して、SJISからUnicodeに変更するコードを作成する必要がないためと思われます。
・参考資料であげた無料のタイプ3のトライバ(Remote JDBC-JDBC Bridge ver1.0)を使用したいとき、P.37のプログラム(Kouza1.java)を例に
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
String url ="jdbc:odbc:BANK";
を以下のように変えます。詳しくは無料のタイプ3ドライバの説明書を参考に。ここで server1 とはサーバーに使用するPC名です。
Class.forName ("org.iwatsuki.rjj.RemoteJdbcJdbcDriver");
String url ="jdbc:rjj://server1;jdbc:odbc:BANK";
以下に私が動かしたときの環境及び手順を示します。不正確な記述があるかもしれませんが、ご容赦願います。
使用ハードウェア クライアント Win95 (PC名 client1 とする) サーバー WinNT4.0(PC名 server1 とする) 使用ソフトウェア ACCESS97,JAVA2,Remote JDBC-JDBC Bridge,WINZIP 入手先の例 JAVA2: Java World 99年4月号 IDGコミュニケーション \1490 Remote JDBC-JDBC Bridge:参考資料を参照 クライアント側の設定 ソースの置き場所 c:\home\Kouza1.java Java2をインストール済み、環境設定も終了 サーバー側の設定 ACCESS97のインストール ACCESS97のファイルの置き場 c:\home\BANK.mdb ODBCの設定終了、名前はBANK Java2をインストール済み、環境設定も終了 Remote JDBC-JDBC Bridgeのインストール(ドライバ付属のマニュアル参照) クライアント側 set CLASSPATH=.;c:\home\rjjdrv.jar サーバー側 set CLASSPATH=.;c:\home\rjjsrv.jar 実行(ドライバ付属のマニュアル参照) サーバー側 コマンドプロンプト起動 start rmiregistry start java org.iwatsuki.rjj.RemoteJdbcJdbcServer sun.jdbc.odbc.JdbcOdbcDriver クライアント側 コマンドプロンプト起動 cd home javac kouza1.java java kouza1 結果を表示
WEBアプリケーション開発ソフト
会社名 | 製品名 |
インプライズ(旧ボーランド)社 | JBuilder DataGateway for Java |
シマンテック社 | VisualCafe |
日本IBM社 | VisualAge for Java |
パワーソフト | PowerJ |
この中でいいと思われるのがJBuilderです。なぜかというとC/S型のwebアプリケーションが開発できるドライバーが付属し、一番価格が安いからです。