gpt4 book ai didi

Java - JDBC 驱动程序 SQLite 3.7.2 - 无法打开数据库 test.db : file is encrypted or is not a database

转载 作者:行者123 更新时间:2023-11-30 07:22:20 26 4
gpt4 key购买 nike

我正在使用 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);
}
}

最佳答案

这里的问题是 Java SQLite JDBC 驱动程序(版本 3.7.2)和我机器上安装的 SQLite 版本(版本 2.8.17)之间的版本不匹配。使用 sqlite3 二进制文件解决了这个问题。

关于Java - JDBC 驱动程序 SQLite 3.7.2 - 无法打开数据库 test.db : file is encrypted or is not a database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12803140/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com