您好,匿名用户
随意问技术百科期待您的加入

java使用derby数据库的问题

0 投票

在cmd下连接、插入、查询等操作都正常,但是用java连接derby数据库时总是出现如下错误:
java.sql.SQLTransactionRollbackException:A lock could not be obtained within the time requested

private Connection getConnection()
    {
         Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
	    
	conn=DriverManager.getConnection("jdbc:derby:qq;create=true");
	conn.setAutoCommit(false);	
	return conn;
    }
    public void insert(String tName)
    {
	String sql="insert into "+tName+"(id,email,count) values(4,'dfsqq,22)";
	this.excuteSQL(sql);
    }
    public boolean excuteSQL(String sql)
    {
	
	Statement s;
	 conn=getConnection();
	    s = conn.createStatement();
	    s.executeUpdate(sql);
	    s.close();
             //conn.close() 会出现关闭异常,提示:连接正处于活动状态**
	    return true;

    }
    public void close()
    {
	try
	{
	    conn.close();
	}
	catch (SQLException e)
	{
	    // TODO Auto-generated catch block
	    e.printStackTrace();
	}
    }
Dao dao=new Dao();
	dao.insert(table);//出现异常
         dao.close();
用户头像 提问 2012年 12月1日 @ Cho'Gath 上等兵 (267 威望)
分享到:

1个回答

0 投票

String sql="insert into "+tName+"(id,email,count) values(4,'dfsqq,22)"; 看下这条SQL是否有问题,是不是少了个“ ' ”,应该是SQL执行失败导致的回滚,数据库连接配置本身是没错的。

用户头像 回复 2012年 12月1日 @ Libra 上等兵 (351 威望)
提一个问题:

相关问题

+1 投票
1 回复 44 阅读
0 投票
1 回复 72 阅读
0 投票
1 回复 45 阅读
用户头像 提问 2013年 9月13日 @ Shen 上等兵 (318 威望)
0 投票
0 回复 17 阅读
用户头像 提问 2014年 1月21日 @ Tristana 上等兵 (285 威望)
0 投票
1 回复 28 阅读
用户头像 提问 2014年 2月26日 @ Caitlyn 上等兵 (452 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...