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データベースプログラミング術」です。


参考資料

・オーム社刊 「実践JDBC Javaデータベースプログラミング術」 \2900

お薦めの本、作者のHPは大変参考になります。Javaアプリケーション開発に JDK1.1+Access95/97 を、Javaアプレット開発に VisualCafe2.0J for Java DB開発版(JDK、タイプ3のJDBC、Sybase SQL Anywhereなど含む)を使用しています。

・JAVA PRESS VOL 8 技術評論社 \1280

データベースの特集をしています。参考になると思います。

JDKの機能とプラウザの対応状況

Netscape Communicator でJavaAppletを実行するとき参考になります。

Remote JDBC-JDBC Bridge ver1.0

無料のタイプ3のドライバです。

・JAVA PRESS VOL 8 技術評論社 \1280

データベースの特集をしています。参考になると思います。


プログラミング 

参考資料であげた「実践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ドライバ用に変えます。
String url = "jdbc:odbc:BANK_sql";
String user = "sa";
String password = "";
byte b[] = ex.getMessage().getBytes("8859_1");
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アプリケーションが開発できるドライバーが付属し、一番価格が安いからです。