【问题标题】:SQLite - Database is locked in JavaSQLite - 数据库被锁定在 Java 中
【发布时间】:2014-11-30 11:37:37
【问题描述】:

在第一种方法中,我创建数据库,如果不存在:

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

    Connection connection = null;
    connection = DriverManager.getConnection("jdbc:sqlite:" + Gdx.files.internal("mjvsworld.db"));

    Statement statement = connection.createStatement();
    statement.executeUpdate("CREATE TABLE IF NOT EXISTS GLOBAL(ID INTEGER PRIMARY KEY" +
            " AUTOINCREMENT, NAME TEXT, MAXPUNTUATION INTEGER)");

    if (statement != null) statement.close();
    if (connection != null) connection.close();

在第二种方法中,以其他方式(我也这样做,更改更新查询),我尝试读取是否插入了表中的某些行,如果现在创建了表,则插入它:

statement.executeUpdate("INSERT OR REPLACE INTO GLOBAL (ID, NAME, MAXPUNTUATION) VALUES "
                +"(1, 'Elvis', "+maxpoints+")");

在另一个调用中,在项目中之后,我尝试只更新一行(ID=1),并且**在这一行中,给我错误**:

statement.executeUpdate("UPDATE GLOBAL set MAXPUNTUATION = "+puntos+" AND NAME = '"+name+"' where ID=1;");

´

**错误代码:**

java.sql.SQLException: database is locked
at org.sqlite.NativeDB.throwex(NativeDB.java:210)
at org.sqlite.NativeDB._exec(Native Method)
at org.sqlite.Stmt.executeUpdate(Stmt.java:152)
at pack.util.DbConnection.actualizarMaxPuntuacion(DbConnection.java:94)
at pack.maingame.Platform.finalizarJuego(Platform.java:1060)
at pack.maingame.Platform.configurarDeteccionesJugador1(Platform.java:686)
at pack.maingame.Platform.render(Platform.java:443)
at pack.visual.GameScreen.render(GameScreen.java:51)
at com.badlogic.gdx.Game.render(Game.java:46)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:208)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:115)


DbConnection.java:94 `equals to last executeUpdate I post.`

我需要这方面的帮助。谢谢。 (我不使用提交,我尝试使用它也给了我错误)

【问题讨论】:

  • 您确定在每个执行语句之后您都关闭了连接吗?另外请检查其他进程(PID)是否正在使用该线程
  • 我关闭所有更新,是的,我没听懂你说的第二件事
  • 查看link

标签: java sqlite database-locking


【解决方案1】:

SQLite 曾经在使用任何应用程序(如 SQLite 浏览器)打开时抛出此类错误,并且我们在代码中使用相同的文件。因此,请在运行代码之前关闭数据库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-07
    • 2011-08-05
    • 2011-10-30
    • 1970-01-01
    • 1970-01-01
    • 2015-05-11
    • 2011-02-14
    相关资源
    最近更新 更多