sqlite数据库正常,但jdbc报告数据库磁盘映像格式不正确

sqlite数据库正常,但jdbc报告数据库磁盘映像格式不正确,sqlite,jdbc,groovy,malformed,Sqlite,Jdbc,Groovy,Malformed,我有一个新创建的sqlite数据库,它有点大:大约6.3GB。通过sqlite命令行工具使用它没有问题。当我尝试使用JDBC(groovy脚本)连接时,出现了一个异常: Caught: java.sql.SQLException: [SQLITE_CORRUPT] The database disk image is malformed (database disk image is malformed) 然后,我从sqlite命令行工具运行: pragma完整性检查 返回的报告为:ok

我有一个新创建的sqlite数据库,它有点大:大约6.3GB。通过sqlite命令行工具使用它没有问题。当我尝试使用JDBC(groovy脚本)连接时,出现了一个异常:

Caught: java.sql.SQLException: [SQLITE_CORRUPT]  The database disk image 

is malformed (database disk image is malformed)
然后,我从sqlite命令行工具运行:

pragma完整性检查

返回的报告为:
ok

我在一个新的数据库上试用了groovy脚本,该数据库只有一个表和一行,它似乎可以工作

有什么建议吗

使用:

jdk1.7.0_60

groovy-2.3.4

sqlite-jdbc-3.7.2

groovy脚本:

import java.sql.Connection
import java.sql.DriverManager
import java.sql.ResultSet


println("hello world")

Class.forName("org.sqlite.JDBC")

String dbFile =
        "/opt/no_backup/text_analytics/db/options.sqlite3"  //large database - exception
//        "/opt/no_backup/text_analytics/test/test.db"      //small database - works

Connection conn = DriverManager.getConnection("jdbc:sqlite:$dbFile")

String query =
//        "select count(*) from test"                                   //small database - works
      "select count(*) from bb_options where underlyingSymbol='GE'"     //large database - fails

ResultSet rs = conn.createStatement().executeQuery(query)

while(rs.next()) {
    println(rs.getInt(1))
}

conn.close()

file
命令对数据库文件给出了什么
/opt/no\u backup/text\u analytics/db/options.sqlite3
/opt/no\u backup/text\u analytics/test/test.db
我认为您最好的选择是导出数据并将其导入新的db文件。