0

netbeans 7 サービスを使用して Java db データベースを作成しました。Java 組み込みドライバーを使用して Java db に接続しました。私のデータベースは、ROOT というスキーマの下の Java データベースの接続の下にあります。

これは私の Java db 接続名です。

jdbc:derby:AddressBook [root on ROOT]

しかし、プロジェクトでそのスキーマを使用しようとすると、次のような例外が発生します

Caused by: ERROR 42Y07: Schema 'ROOT' does not exist
    at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
    at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getSchemaDescriptor(Unknown Source)
                       .....

選択ステートメントでエラーが表示されます。プロジェクトで読めるようにするにはどうすればよいですか?

これは私のコードです:

private static final String URL = "jdbc:derby:AddressBook";
   private static final String USERNAME = "root";
   private static final String PASSWORD = "cs101";

   private Connection connection = null; // manages connection
   private PreparedStatement selectAllPeople = null; 
   private PreparedStatement selectPeopleByLastName = null; 
   private PreparedStatement insertNewPerson = null; 

   // constructor
   public PersonQueries()
   {
      try 
      {
         connection = 
            DriverManager.getConnection( URL, USERNAME, PASSWORD );

         // create query that selects all entries in the AddressBook
         selectAllPeople = 
            connection.prepareStatement( "SELECT * FROM ROOT.Addresses" )
4

3 に答える 3

2

接続を作成する前にこのコードを入れてみてください

Class.forName("org.apache.derby.jdbc.ClientDriver")
于 2012-02-09T17:20:39.097 に答える
0

組み込みダービー nb を使用すると、データベースが特定の場所に配置されます。私の NB 7.2 インストールでは、デフォルトは C:\Users\James.netbeans-derby です。derby のホーム プロパティを設定して、アプリが同じ db ファイルを読み取っていることを確認する必要があります。

System.setProperty("derby.system.home", "C:\Users\James\.netbeans-derby");

またはこのように:

System.setProperty("derby.system.home", 
    System.getProperty("user.home")+".netbeans-derby");

幸運を!

于 2012-09-01T10:12:26.597 に答える