【问题标题】:How to unlock SQLite database file?如何解锁 SQLite 数据库文件?
【发布时间】:2022-10-09 18:01:37
【问题描述】:

当我执行以下代码时,我得到:

“[SQLITE_BUSY] 数据库文件被锁定(数据库被锁定)”

try {
    String query = "WITH updates(ID, newvalue) AS ( SELECT TotalStock.Sl_No, TotalStock.Price * TotalStock.Preferred_Stock  FROM TotalStock ) update TotalStock SET Total_Price=  ( SELECT newvalue FROM updates WHERE TotalStock.Sl_No = ID )";
    String query_2="select Sl_No, Item_Name, Perishable, Stock, Preferred_Stock, Total_Price from TotalStock where Stock=?";
    PreparedStatement pst=connection.prepareStatement(query);
    PreparedStatement pst_2=connection.prepareStatement(query_2);
    pst_2.setString(1, "0");
    pst.executeUpdate() ;
    ResultSet rs_2 = pst_2. executeQuery() ;
    
    table.setModel(DbUtils.resultSetToTableModel(rs_2));
} 
catch (Exception e1) {
    e1.printStackTrace();
}

SQLite 连接:

Connection conn = null;

public static Connection dbConnector()
{
    try
    {
        Class.forName("org.sqlite.JDBC");
    
        Connection conn = DriverManager.getConnection("jdbc:sqlite:/Users/aditya/Downloads/EISJ/CS/IA/DATABASE/login_cred.db");
            
        return conn;
    }
    catch (Exception e)
    {
        JOptionPane.showMessageDialog(null,e);
        return null;
    }
}

【问题讨论】:

  • “锁定”的意思是:其他一些进程正在使用它。解决方法是找到任何其他应用程序(可能是另一个 JVM、SQLite 命令行工具等)并关闭它。

标签: java sqlite


【解决方案1】:

有一个实例正在使用 SQlite 文件,请检查您是否正在运行使用 Sqlite 文件的类似项目实例。

还要确保您没有使用外部工具来检查 sqlite 文件。这也可能会阻塞 I/O 操作。

【讨论】:

    猜你喜欢
    • 2010-09-14
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 2019-02-05
    • 2013-05-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    相关资源
    最近更新 更多