我正在尝试将已经存在的SQLite数据库连接到我的java项目,作为测试简单登录对话框的临时解决方案。这是我的连接器类:
import java.sql.*;
import javax.swing.*;
public class SQLite_login_connector {
//Initializes global connection variable (unused until now!)
Connection conn_log = null;
public static Connection logindb_connection(){
//Simple try catch block that prints error trace log in a JOptionPane if runtime error occurs.
try{
Class.forName("org.sqlite.JDBC");
Connection conn_log = DriverManager.getConnection("jdbc:sqlite:/SQLite/ISRSMS_Login.sqlite");
JOptionPane.showMessageDialog(null, "Connection Successful!");
return conn_log;
} catch(Exception e){
JOptionPane.showMessageDialog(null, e);
return null;
}
}
}
我的SQLite数据库位于项目文件夹中的一个文件夹中:
当我尝试运行我的连接器类时,它会抛出以下异常:
对我来说,它看起来好像假定包含我的数据库的文件夹位于我的F:驱动器上,而不是我本地存储库中的根项目。我已经尝试将数据库放入我的src文件夹,以及全新的资源文件夹。每次抛出同样的异常。为什么这样做?
答案 0 :(得分:2)
正如您在连接字符串中遇到的那样,它指向驱动器的根目录 删除连接字符串中的/请执行以下操作
DriverManager.getConnection("jdbc:sqlite:SQLite/ISRSMS_Login.sqlite")
为方便起见,请遵循java语言的命名约定 http://www.oracle.com/technetwork/java/codeconventions-135099.html
答案 1 :(得分:0)
为什么您的网址是.sqlite?我希望.db - like here
jdbc:sqlite:C:/mydir/mydb.db