Это Java-проект, который подключается к базе данных sqlite. Я действительно не знал, в чем проблема, я делаю приложение для входа в систему моего менеджера, вот мой код:
package dbUtil;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class dbConnection {
public static final String USERNAME = "dbuser";
public static final String PASSWORD = "dbpassword";
public static final String CONN = "jdbc:mysql:\\localhost/login";
public static final String SQCONN = "jdbc:sqlite:\\dbname.sqlite";
public static Connection getConnection() throws SQLException{
try{
Class.forName("org.sqlite.JDBC");
return DriverManager.getConnection(SQCONN);
}catch (ClassNotFoundException e){
e.printStackTrace();
}
return null;
}
}
И вот ошибка, которую я обнаружил, я не знал, что именно происходит:
java.sql.SQLException: opening db: '\dbname.sqlite': Access is denied
at org.sqlite.core.CoreConnection.open(CoreConnection.java:203)
at org.sqlite.core.CoreConnection.<init>(CoreConnection.java:76)
at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:25)
at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:24)
at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:45)
at org.sqlite.JDBC.createConnection(JDBC.java:114)
at org.sqlite.JDBC.connect(JDBC.java:88)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at dbUtil.dbConnection.getConnection(dbConnection.java:20)
at LoginApp.LoginModel.<init>(LoginModel.java:18)
at LoginApp.LoginController.<init>(LoginController.java:19)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at sun.reflect.misc.ReflectUtil.newInstance(ReflectUtil.java:51)
at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:927)
at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:971)
at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:220)
at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:744)
at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2707)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3214)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097)
at LoginApp.LoginApp.start(LoginApp.java:15)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
at java.lang.Thread.run(Thread.java:745)
PS: Я нашел чей-то комментарий, но не понял, что он имел в виду:
Я создал базу данных SQLite до просмотра этого видео и сохранил ее в другом каталоге. Для своего проекта я не создал новый .sqlite, как это сделал Awais в видео. Я экспортировал свою исходную базу данных в новый файл .sqlite с помощью SQLite Studio. Это была проблема того, почему я не мог войти (1:20:00) в базу данных. SQLite Studio, очевидно, шифрует базу данных, если вы экспортируете ее в новую базу данных; , что означает, что ваша программа не может получить доступ к ее содержимому . Я скопировал свою исходную базу данных и переместил ее в каталог project / src. Это было мое зависание. Awais не очень ясно, как он скопировал свою базу данных в каталог проекта в начале видео, поэтому я как бы заглянул на этот шаг и не сделал этого с моей базой данных. НЕ ПРОПУСКАЙ ЭТОТ ШАГ. Удачи.