4

私はJavaDBを使用するデスクトップアプリケーションに取り組んでいます。NetBeans6.8とJDK6Update20を使用しています

必要なデータベースを作成し、以下を使用してアプリケーションを介してデータベースに接続しましたClientDriver

    String driver = "org.apache.derby.jdbc.ClientDriver";
    String connectionURL = "jdbc:derby://localhost:1527/myDB;create=true;user=user;password=pass";

    try {
        Class.forName(driver);
    } catch (java.lang.ClassNotFoundException e) {
        e.printStackTrace();
    }
    try {
        schedoDBConnection = DriverManager.getConnection(connectionURL);
    } catch (Exception e) {
        e.printStackTrace();
    }

これは正常に機能します。ただし、その場合、データベースのサービスはNetBeansから提供されます。アプリケーションを別のPCに移動すると、データベースにアクセスできなくなります。JavaDBをアプリケーションに統合するにはどうすればよいですか?

4

3 に答える 3

3

アプリケーションを別のPCに移動すると、データベースにアクセスできなくなります。JavaDBをアプリケーションに統合するにはどうすればよいですか?

NetBeansはネットワークサーバーモードでDerbyを起動し、Derbyは別のJVMで実行されています。データベースをアプリケーション内に埋め込む場合は、アプリケーション内から埋め込みモードでDerbyを起動する必要があります。これを行うには、EmbeddedDriverによって提供されるを使用しderby.jarます。

/*
    If you are running on JDK 6 or higher, you do not
    need to invoke Class.forName(). In that environment, the
    EmbeddedDriver loads automatically.
*/
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
Connection conn = DriverManager.getConnection("jdbc:derby:sample");

デフォルトでは、データベースは作業ディレクトリから作成/ロードされます。より詳細な制御が必要な場合は、derby.system.homeシステムプロパティを設定することをお勧めします。デスクトップアプリケーションでのJavaDBの使用をご覧ください。

も参照してください

于 2010-06-06T14:35:34.887 に答える
0

db derby を作成して localhost に接続したら、ファイル derby.properties に行を追加する必要があります。ディレクトリ データベースに配置します。

derby.drda.host=10.0.0.40  //example IPAddress

保存してnetbeansの接続に移動し、localhostをipaddressに変更します

于 2013-08-27T01:44:39.720 に答える
0

データベースは Netbeans からのものではありません。JDK自体に組み込まれています。

クライアントは、JDBC ドライバー JAR を使用できるようにする必要があります。データベースをサーバーとして実行している場合、ユーザーはサーバーを起動する必要があります。多分それは、Netbeans があなたのために行っている部分であり、交換する必要があります。

于 2010-06-06T14:06:12.537 に答える