実行環境

eclipseは3.4.0
以下をビルドパスに追加。

org.eclipse.swt.win32.win32.x86_3.4.0.v3448f.jar
org.eclipse.core.boot_3.1.100.v20080218.jar
org.eclipse.core.commands_3.4.0.I20080509-2000.jar
org.eclipse.core.runtime_3.4.0.v20080512.jar
org.eclipse.equinox.common_3.4.0.v20080421-2006.jar
org.eclipse.jface_3.4.0.I20080606-1300.jar
org.eclipse.jface.databinding_1.2.0.I20080515-2000a.jar
org.eclipse.jface.text_3.4.0.v20080603-2000.jar
org.eclipse.swt_3.4.0.v3448f.jar
org.eclipse.osgi_3.4.0.v20080605-1900.jar

とりあえず、これだけ入れとけば動いた。
ステータスバーが出なかったが、最後のosgiを入れると動くようになった。

derbyをjavaから接続してみる。

derbyをDLしてきました。
バージョンは10.4.2.0。
解凍してbinフォルダにパスを通しました。
作業ディレクトリを作成。
コマンドプロンプトを起動し、カレントディレクトリを作った作業ディレクトリに変更。
ij
と入力すると、プロンプトが"ij>"となる。そこで、
connect 'jdbc:derby:testdb;create=true';
と入力すると、testdbというデータベースが作成される。(2回やらないとできない?)
とりあえず、
exit;
とし、
startNetworkServer
で、DBサーバを起動しておく。


で、JAVAで接続してみる。以下ソース。

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;

public class DbConnector {

	private static final String driver = "org.apache.derby.jdbc.ClientDriver";
	private static final String url = "jdbc:derby://localhost:1527/testdb";

	public static void main(String[] args) {
		Connection con = null;
		DatabaseMetaData dbmd = null;

		try {
			Class.forName(driver);
			con = DriverManager.getConnection(url);

			dbmd = con.getMetaData();

			System.out
					.println("\n----------------------------------------------------");
			System.out.println("Database Name    = "
					+ dbmd.getDatabaseProductName());
			System.out.println("Database Version = "
					+ dbmd.getDatabaseProductVersion());
			System.out.println("Driver Name      = " + dbmd.getDriverName());
			System.out.println("Driver Version   = " + dbmd.getDriverVersion());
			System.out.println("Database URL     = " + dbmd.getURL());
			System.out
					.println("----------------------------------------------------");

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (con != null) {
				try {
					con.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}

}


で、とりあえず接続できたんだけど、Class.forName()って何?
ってことでネット上を探すとわかりやすいのがあったので、勝手にトラックバック
staticで登録処理を行ってるのね。


以上でderbyJAVAから制御できそうです。