Member 13686487 Ответов: 1

Как бы я изменил это, чтобы работать на любом компьютере?


Я делаю школьный проект, дома он работает в netbeans, когда я подключаю базу данных с помощью java derby, но перемещая ее на другой компьютер, он больше не знает, где находится база данных, может ли кто-то указать на ошибку и сказать мне, как ее исправить, чтобы он искал базу данных в папке в файле .jar?

public boolean checkLogin(String username, String password) {

       //This code will connect the database to the java program
       Connection myconObj = null; //allows to connect to database
       Statement mystatObj = null; // create statement (Execute queries)
       ResultSet myresObj = null; // get result
       ResultSetMetaData mymeta = null;

       try {

           String query = "select * from JACOVANSTRYP.MAINUSERDATA";

           myconObj = DriverManager.getConnection("jdbc:derby://localhost:1527/MainUserData", "jacovanstryp", "Password1234");
           mystatObj = myconObj.createStatement();
           myresObj = mystatObj.executeQuery(query);
           mymeta = myresObj.getMetaData();
           int colomnNo = mymeta.getColumnCount();

           while (myresObj.next()) {
               String dbUsername = myresObj.getString("Username");
               String dbPassword = myresObj.getString("Password");
               System.out.println();
               if (username.equalsIgnoreCase(dbUsername) && password.equals(dbPassword)) {

                   PrintWriter activeUser = new PrintWriter(new FileWriter("activeUser.db"));
                   activeUser.println(dbUsername);
                   activeUser.close();
                   return true;
               }
           }

       } catch (Exception e) {
           e.printStackTrace();
       }

       return false;
   }


Что я уже пробовал:

Создавая URL-адрес расположения к базе данных, он просто говорит, что драйвер не найден
DriverManager.getConnection("jdbc:derby://Path/To/Jar/Folder/MainUserData", "jacovanstryp", "Password1234");

ThilinaMD

Эта ссылка может вам помочь https://netbeans.org/kb/docs/ide/java-db.html

1 Ответов

Рейтинг:
0

RDBurmon

Вам нужно указать имя сервера в строке подключения
вместо localhost Укажите имя сервера базы данных

вот несколько примеров
Создание URL-адреса подключения | Microsoft Docs[^]

В соответствии с этим ваша строка подключения должна быть такой

myconObj = DriverManager.getConnection("jdbc:derby://192.168.25.36:1527/MainUserData", "jacovanstryp", "Password1234");


или упомяните имя сервера напрямую вместо IP


Maciej Los

5ed!

RDBurmon

спасибо