我正在使用java中的SQLite JDBC驱动程序3.7.2将一些数据写入数据库文件。当我尝试在命令行上打开数据库文件时,收到一条错误消息:
“无法打开数据库test.db:文件已加密或不是数据库”
我做了一个最小的例子,导致这种现象:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
public class PlaygroundSQLite {
public static void insertIntoDB(String dbFilename, String tablename){
try {
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:"+dbFilename);
PreparedStatement prep = conn.prepareStatement("insert into " + tablename + "( id, text) values (?, ?);");
prep.setString(1, "1FD22A38");
prep.setString(2, "This is a simple test");
prep.addBatch();
conn.setAutoCommit(false);
prep.executeBatch();
conn.setAutoCommit(true);
conn.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void createDB(String dbFilename, String tablename){
try {
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:" + dbFilename);
Statement stat = conn.createStatement();
stat.executeUpdate("drop table if exists test;");
stat.executeUpdate("create table " + tablename + " (key INTEGER PRIMARY KEY, id TEXT , text TEXT);");
conn.close();
stat.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
String dbFilename = "test.db";
String tablename = "test";
PlaygroundSQLite.createDB(dbFilename, tablename);
PlaygroundSQLite.insertIntoDB(dbFilename, tablename);
}
}
问题内容: 问题:为什么我不能打开数据库? 信息:我正在使用数据库进行项目。我编写了一个测试程序,该程序运行并传递数据库: 单元测试程序可以使之毫无问题。但是,当我实际使用将相同位置传递给它的程序时,出现以下错误: OperationalError:无法打开数据库文件 我试着用: 在三种情况下,我遇到了以上错误。最令人沮丧的部分是事实可以做到这一点,但实际程序却做不到。 关于到底发生了什么的任何线
问题内容: 在Django中设置服务器时出现此错误。它是sqlite3,这意味着它应该创建.db文件,但似乎没有这样做。我已经将SQLite规定为后端,并且将其放置在绝对的文件路径中,但是没有运气。 这是错误还是我做错了什么?(只是在想,在Ubuntu中指定的绝对文件路径是否有所不同?) 这是我的settings.py文件的开头: 问题答案: 问题你正在使用SQLite3,你的DATABASE_N
我用的是Android平板,上面有Xamarin/C#应用。我试图用这款平板电脑访问驻留在我的Windows 10机器上的SQLite数据库。我选择使用USB/Android而不是Android模拟器,应用程序仍然驻留在Windows 10机器上。这似乎无关紧要,但我也尝试过映射驱动器、共享文件夹和创建网络连接。项目参考 这是代码: 命名空间CicoAndroid{公共部分类MainPage: C
我想从Linux实例使用TLS1.2连接到我的数据库实例,但我无法这样做。我使用以下配置: < Li > Java JDK:Amazon corretto open JDK版本:" 1.8.0_252" < li>JDBC驱动程序:Microsoft SQL server MSSQL-JDBC:8 . 2 . 2 . JRE 8 < li >连接字符串:JDBC:SQL server://[我的数
xml有一个简单的变更集,它创建了一个表,只是为了在一开始测试liquibase。 但我不会走这么远,因为当我运行项目时 我收到以下错误:
应用程序属性 应用程序主程序 错误 启动ApplicationContext时出错。若要显示条件报告,请在启用“调试”的情况下重新运行应用程序。2019-03-03 17:42:47.183错误10344-[restartedMain]O.S.Boot.SpringApplication :应用程序运行失败 几乎每个站点/YouTube我都试过了,但问题还在。