実行環境
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で登録処理を行ってるのね。