0

Java データベース プログラムで最も単純な手順を実行できないのはなぜだろうと思っています。これまで何度も行ってきましたが、今回はシームルーチンを行っていますが、うまくいきません。

組み込みモードでデータベースを作成しようとしています。seam ディレクトリに derby.jar ファイルを配置しました。ここにコードがあり、その後はエラーです:

public static void main(String[] args) throws SQLException {

     String driver ="org.apache.derby.jdbc.EmbeddedDriver";
     String url= "jdbc:derby:MyDatabase";

     try {

        Class.forName(driver).newInstance(); 

    } catch (InstantiationException e1) {
        e1.printStackTrace();
    } catch (IllegalAccessException e1) {
        e1.printStackTrace();
    } catch (ClassNotFoundException e1) {
        e1.printStackTrace();
    }

    Connection conn = DriverManager.getConnection(url+";create=true");   
}

エラーは次のとおりです。

java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDriver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at Data.main(Data.java:16)
Exception in thread "main" java.sql.SQLException: No suitable driver found for jdbc:derby:MyDatabase;create=true
    at java.sql.DriverManager.getConnection(DriverManager.java:602)
    at java.sql.DriverManager.getConnection(DriverManager.java:207)
    at Data.main(Data.java:27)
4

1 に答える 1

1

問題は、クラスパスが構成されていないためです:

組み込みモードで Derby を使用するには、CLASSPATH を設定して、以下にリストされている jar ファイルを含めます。

Windows: C:> set CLASSPATH=%DERBY_INSTALL%\lib\derby.jar;%DERBY_INSTALL%\lib\derbytools.jar;.

UNIX: $ export CLASSPATH=$DERBY_INSTALL/lib/derby.jar:$DERBY_INSTALL/lib/derbytools.jar:.

http://db.apache.org/derby/papers/DerbyTut/install_software.html#derby_configure

于 2012-11-05T15:04:58.270 に答える