[英]Java Embedded Database h2
i am trying to make a simple application using h2 Database. 我正在尝试使用h2数据库创建一个简单的应用程序。 Program is working perfectly just for one time.
程序正在完美地工作一次。 when i am tying to insert more data, following error occurred.
当我想要插入更多数据时,发生以下错误。
org.h2.jdbc.JdbcSQLException: Database may be already in use: "C:/Users/ali/bookDB.mv.db". org.h2.jdbc.JdbcSQLException:数据库可能已在使用中:“C:/Users/ali/bookDB.mv.db”。 Possible solutions: close all other connection(s);
可能的解决方案:关闭所有其他连接; use the server mode [90020-186]
使用服务器模式[90020-186]
java.lang.IllegalStateException: The file is locked: nio:C:/Users/ali/bookDB.mv.db [1.4.186/7] java.lang.IllegalStateException:文件被锁定:nio:C:/Users/ali/bookDB.mv.db [1.4.186 / 7]
Code is 代码是
package h2_basic;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class H2_Basic {
public static void main(String[] args) {
try{
Class.forName("org.h2.Driver");
Connection con = DriverManager.getConnection("jdbc:h2:~/bookDB","test","test");
Statement sta = con.createStatement();
String CREATE_TABLE = "CREATE TABLE BOOKS "
+ "(bookid bigint auto_increment NOT NULL PRIMARY KEY, "
+ " booktitle VARCHAR(255), "
+ " bookauthor VARCHAR(255), "
+ " editiondate VARCHAR(255))";
sta.execute(CREATE_TABLE);
String sql = "INSERT INTO BOOKS (booktitle, bookauthor, editiondate) VALUES ('ali','ali','12')";
sta.execute(sql);
}catch(Exception ex)
{
ex.printStackTrace();
}
}
}
Change your JDBC URL to jdbc:h2:~/bookDB;AUTO_SERVER=TRUE
, as in 将JDBC URL更改为
jdbc:h2:~/bookDB;AUTO_SERVER=TRUE
,如
DriverManager.getConnection("jdbc:h2:~/bookDB;AUTO_SERVER=TRUE","test","test");
to start H2 in Automatic Mixed Mode . 在自动混合模式下启动H2。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.