java. sql .SQLException: не удалось запустить базу данных '' с загрузчиком классов sun.mis c. Launcher$AppClassLoader@60e53b93 - PullRequest
0 голосов
/ 27 апреля 2020

Я создаю windows приложение GUI на базе NetBeans 8.2 и JAVA DB. Я впервые использую дерби. Установив все требования, я сделал небольшую страницу входа, которая работала правильно. (Может войти в систему, используя данные из базы данных, может запустить базу данных, может обнаружить, не хранятся ли значения в базе данных)

Имя базы данных - Подробности. TABLE1 для входа в систему CITIZENS TABLE2 для регистрации в SIGN_UP

LOGIN-

   try{
            Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
            java.sql.Connection con=DriverManager.getConnection("jdbc:derby:C:\\netbeans\\Derby-10.14\\Details","root","root");
            java.sql.Statement stmt=con.createStatement(); 
            String DBQuery="Select * from ROOT.CITIZENS where USERID='"+userText.getText()+"' AND PASSWORD='"+pass.getText()+"' ";

            ResultSet rs=stmt.executeQuery(DBQuery);
            if(rs.next())
            {
                new MainPage().setVisible(true);
                this.dispose();
            }
            else
                JOptionPane.showMessageDialog(null,"Failed");

        }catch(HeadlessException | ClassNotFoundException | SQLException e){
            System.err.println(e);
        }

Аналогичным образом я сделал регистрацию page-

try{
            String n=name.getText().trim();
            int a=Integer.parseInt(age.getText());
            String i=id.getText().trim();
            String p=pass.getText().trim();
            int m=Integer.parseInt(mn.getText());//mobile
            Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
            java.sql.Connection con=DriverManager.getConnection("jdbc:derby:C:\\netbeans\\Derby-10.14\\Details","root","root");
            java.sql.Statement stmt=con.createStatement(); 
            String DBQuery=("insert into ROOT.SIGN_UP values ('"+n+"','"+a+"','"+i+"','"+p+"','"+m+"')");

            JOptionPane.showMessageDialog(this, "Record inserted");
            }catch(HeadlessException | ClassNotFoundException | SQLException e){
            System.err.println(e);
            }

После запуска проекта я получил ошибку-

java. sql .SQLException: не удалось запустить базу данных 'C: \ netbeans \ Derby-10.14 \ Details' с загрузчиком классов sun.mis c. Launcher$AppClassLoader@60e53b93 см. подробности в следующем исключении.

Когда я попытался проверить базу данных, возникла ошибка - Невозможно подключиться. Не удается установить sh соединение jdb c: derby: // localhost: 1527 / Подробности с использованием org. apache .derby.jdb c .ClientDriver (DERBY SQL ошибка: ERRORCODE: 40000, SQLSTATE: XJ040 , SQLLERRM C: Не удалось запустить «Детали» базы данных с загрузчиком классов sun.mis c. Launcher$AppClassLoader@1d44bcfa, подробности см. В следующем исключении .::SQLSLATE:XSDB6).

Я также пришел через ошибку- java. sql .SQLSyntaxErrorException: столбцы типа 'INTEGER' не могут иногда содержать значения типа 'CHAR'.

...