首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我正在编写一个简单的代码来连接我的gui到我的derby数据库。它会给出一个关于架构不存在的错误

我正在编写一个简单的代码来连接我的gui到我的derby数据库。它会给出一个关于架构不存在的错误
EN

Stack Overflow用户
提问于 2020-06-23 00:57:40
回答 2查看 23关注 0票数 0

它给出一个连接错误,首先是无法连接到localhost 1527,我必须通过右键单击数据库然后单击来连接本地数据库

这是我的代码

代码语言:javascript
复制
package databasegui;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import net.proteanit.sql.DbUtils;

/**
*
* @author Hp
*/
public class GUI extends javax.swing.JFrame {

  /**
   * Creates new form GUI
   */
  Connection myconobj=null;
  Statement mystatobj=null;
  ResultSet myresobj=null;
  
  public GUI() {
      initComponents();
      selectall();
  }
  
  public void selectall(){
      try{
      myconobj=DriverManager.getConnection("jdbc:derby://localhost:1527/A", "sonali", "12345");
      mystatobj=myconobj.createStatement();
      myresobj=mystatobj.executeQuery("Select * from A.mytable");
      mytable2.setModel(DbUtils.resultSetToTableModel(myresobj));
  }
      catch(SQLException e){
          e.printStackTrace();
      }
  }

  /**
   * This method is called from within the constructor to initialize the form.
   * WARNING: Do NOT modify this code. The content of this method is always
   * regenerated by the Form Editor.
   */
  @SuppressWarnings("unchecked")
  // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  private void initComponents() {

      jScrollPane1 = new javax.swing.JScrollPane();
      mytable2 = new javax.swing.JTable();
      btnadd = new javax.swing.JButton();
      btndelete = new javax.swing.JButton();
      btnupdate = new javax.swing.JButton();
      jLabel1 = new javax.swing.JLabel();
      jLabel2 = new javax.swing.JLabel();
      jLabel3 = new javax.swing.JLabel();
      jLabel4 = new javax.swing.JLabel();
      txtid = new javax.swing.JTextField();
      txtname = new javax.swing.JTextField();
      txtdob = new javax.swing.JTextField();
      txtphn = new javax.swing.JTextField();

      setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

      mytable2.setModel(new javax.swing.table.DefaultTableModel(
          new Object [][] {
              {null, null, null, null},
              {null, null, null, null},
              {null, null, null, null},
              {null, null, null, null}
          },
          new String [] {
              "ID", "Name", "Date of Birth", "Phone Number"
          }
      ));
      jScrollPane1.setViewportView(mytable2);

      btnadd.setText("Add");

      btndelete.setText("Delete");

      btnupdate.setText("Update");

      jLabel1.setText("ID");

      jLabel2.setText("Name");

      jLabel3.setText("Date of Birth");

      jLabel4.setText("Phone Number");

      javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
      getContentPane().setLayout(layout);
      layout.setHorizontalGroup(
          layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
          .addGroup(layout.createSequentialGroup()
              .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                  .addGroup(layout.createSequentialGroup()
                      .addGap(31, 31, 31)
                      .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                      .addGap(93, 93, 93)
                      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                          .addComponent(jLabel1)
                          .addComponent(jLabel2)
                          .addComponent(jLabel3)
                          .addComponent(jLabel4))
                      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                          .addComponent(txtphn, javax.swing.GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE)
                          .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                              .addComponent(txtname, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE)
                              .addComponent(txtdob)
                              .addComponent(txtid))))
                  .addGroup(layout.createSequentialGroup()
                      .addGap(49, 49, 49)
                      .addComponent(btnadd)
                      .addGap(74, 74, 74)
                      .addComponent(btndelete)
                      .addGap(82, 82, 82)
                      .addComponent(btnupdate)))
              .addGap(33, 33, 33))
      );
      layout.setVerticalGroup(
          layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
          .addGroup(layout.createSequentialGroup()
              .addGap(20, 20, 20)
              .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                  .addGroup(layout.createSequentialGroup()
                      .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 206, javax.swing.GroupLayout.PREFERRED_SIZE)
                      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 113, Short.MAX_VALUE)
                      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                          .addComponent(btnadd)
                          .addComponent(btndelete)
                          .addComponent(btnupdate))
                      .addGap(107, 107, 107))
                  .addGroup(layout.createSequentialGroup()
                      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                          .addComponent(jLabel1)
                          .addComponent(txtid, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                      .addGap(44, 44, 44)
                      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                          .addComponent(jLabel2)
                          .addComponent(txtname, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                      .addGap(39, 39, 39)
                      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                          .addComponent(jLabel3)
                          .addComponent(txtdob, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                      .addGap(49, 49, 49)
                      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                          .addComponent(txtphn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                          .addComponent(jLabel4))
                      .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
      );

      pack();
  }// </editor-fold>                        

  /**
   * @param args the command line arguments
   */
  public static void main(String args[]) {
      /* Set the Nimbus look and feel */
      //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
      /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
       * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
       */
      try {
          for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
              if ("Nimbus".equals(info.getName())) {
                  javax.swing.UIManager.setLookAndFeel(info.getClassName());
                  break;
              }
          }
      } catch (ClassNotFoundException ex) {
          java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
      } catch (InstantiationException ex) {
          java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
      } catch (IllegalAccessException ex) {
          java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
      } catch (javax.swing.UnsupportedLookAndFeelException ex) {
          java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
      }
      //</editor-fold>

      /* Create and display the form */
      java.awt.EventQueue.invokeLater(new Runnable() {
          public void run() {
              new GUI().setVisible(true);
          }
      });
  }

  // Variables declaration - do not modify                     
  private javax.swing.JButton btnadd;
  private javax.swing.JButton btndelete;
  private javax.swing.JButton btnupdate;
  private javax.swing.JLabel jLabel1;
  private javax.swing.JLabel jLabel2;
  private javax.swing.JLabel jLabel3;
  private javax.swing.JLabel jLabel4;
  private javax.swing.JScrollPane jScrollPane1;
  private javax.swing.JTable mytable2;
  private javax.swing.JTextField txtdob;
  private javax.swing.JTextField txtid;
  private javax.swing.JTextField txtname;
  private javax.swing.JTextField txtphn;
  // End of variables declaration                   
}

我得到的错误是:

java.sql.SQLSyntaxErrorException:架构“”A“”不存在

代码语言:javascript
复制
at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(Unknown Source)
at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
at org.apache.derby.client.am.ClientStatement.executeQuery(Unknown Source)
at databasegui.GUI.selectall(GUI.java:37)
at databasegui.GUI.<init>(GUI.java:30)
at databasegui.GUI$1.run(GUI.java:193)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

原因:错误42Y07:架构'A‘不存在

代码语言:javascript
复制
at org.apache.derby.client.am.ClientStatement.completeSqlca(Unknown Source)
at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)
at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)
at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)
at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)
at org.apache.derby.client.am.ClientStatement.readPrepareDescribeOutput(Unknown Source)
at org.apache.derby.client.am.ClientStatement.flowExecute(Unknown Source)
at org.apache.derby.client.am.ClientStatement.executeQueryX(Unknown Source)
... 18 more
EN

回答 2

Stack Overflow用户

发布于 2020-06-23 01:01:29

检查数据库的名称是否为A,如果不是,则在getConnection()方法中添加数据库的名称来代替A。如果是正确的,那么检查您是否在localhost之后输入了正确的端口号。

这可能会解决您的错误。

票数 0
EN

Stack Overflow用户

发布于 2020-06-23 01:18:08

Apache derby接受连接字符串中的一组属性。也许:jdbc:derby://localhost:1527/A;create=true可以工作。

文档https://db.apache.org/derby/docs/10.7/ref/index.html中有更多属性,请查看Setting attributes for the database connection URL部分

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62519623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档