根据 Java 应用程序,SQLite 数据库不存在
SQLite database does not exist according to Java application
我已经查看了该网站上所有可能的答案,没有任何内容能完全涵盖问题。
我按照教程尝试使用 Firefox SQLite 管理器并使用 SQLite3 shell 创建相同的数据库。
public class DBConnector {
static Connection conn = null;
public static Connection connect()
{
try{
Class.forName("org.sqlite.JDBC");
conn = DriverManager.getConnection("jdbc:sqlite:C:\Users\John\Desktop\database.db");
return conn;
}
catch(Exception e){
e.printStackTrace(System.out);
return null;
}
}
}
每当我 运行 我得到:
java.sql.SQLException: path to 'C:\Users\John\Desktop\database.db': 'C:\Users\John\Documents\NetBeansProjects\JBook\C:' does not exist
我对此还很陌生,不知道问题出在哪里。
任何帮助是极大的赞赏。是的,我查看了发布的所有其他问题并尝试使用他们的答案,但无济于事。
再次感谢
编辑:已经列出的几个可能的答案包括将 .db 扩展名更改为 .sqlite
这没有用。
另一个简单地展示了如何使用绝对路径,我再次说明了这一点,但它没有用。
另一个人谈到了 JUnit 测试和他们遇到的一些与我正在做的事情无关的问题
终于找到问题了:
复制你在 notepad++ 中指定的路径,并将编码设置为 ansi,你会在 C: 之前看到一些导致问题的特殊字符。
conn = DriverManager.getConnection("jdbc:sqlite:‪C:\Users\ravi\Desktop\database.db");
conn = DriverManager.getConnection("jdbc:sqlite:C:\Users\ravi\Desktop\database.db");
我已经查看了该网站上所有可能的答案,没有任何内容能完全涵盖问题。
我按照教程尝试使用 Firefox SQLite 管理器并使用 SQLite3 shell 创建相同的数据库。
public class DBConnector {
static Connection conn = null;
public static Connection connect()
{
try{
Class.forName("org.sqlite.JDBC");
conn = DriverManager.getConnection("jdbc:sqlite:C:\Users\John\Desktop\database.db");
return conn;
}
catch(Exception e){
e.printStackTrace(System.out);
return null;
}
}
}
每当我 运行 我得到:
java.sql.SQLException: path to 'C:\Users\John\Desktop\database.db': 'C:\Users\John\Documents\NetBeansProjects\JBook\C:' does not exist
我对此还很陌生,不知道问题出在哪里。 任何帮助是极大的赞赏。是的,我查看了发布的所有其他问题并尝试使用他们的答案,但无济于事。
再次感谢
编辑:已经列出的几个可能的答案包括将 .db 扩展名更改为 .sqlite 这没有用。 另一个简单地展示了如何使用绝对路径,我再次说明了这一点,但它没有用。 另一个人谈到了 JUnit 测试和他们遇到的一些与我正在做的事情无关的问题
终于找到问题了:
复制你在 notepad++ 中指定的路径,并将编码设置为 ansi,你会在 C: 之前看到一些导致问题的特殊字符。
conn = DriverManager.getConnection("jdbc:sqlite:‪C:\Users\ravi\Desktop\database.db");
conn = DriverManager.getConnection("jdbc:sqlite:C:\Users\ravi\Desktop\database.db");