当前位置: 技术问答>java相关
"Connection is busy with results for another hstmt"
来源: 互联网 发布时间:2015-06-02
本文导语: 在JavaBean中调用存储过程insertNewPost插入一条新记录。(存储过程本身无错,已在SQL Server Query Analyzer中测试过) 执行,第一次成功。第二次就出现“Connection is busy with results for another hstmt”的错误。 数据库是Sql...
在JavaBean中调用存储过程insertNewPost插入一条新记录。(存储过程本身无错,已在SQL Server Query Analyzer中测试过)
执行,第一次成功。第二次就出现“Connection is busy with results for another hstmt”的错误。
数据库是Sql Server7.0 桌面版。我使用的是sun公司的jdbc odbc桥驱动。
网上查了一下,说是sun的driver不支持多线程,可以换其他的odbc driver。
但是我既没有用到多线程,也不想换驱动。
请问大侠,该如何解决这个问题。
附调用此存储过程的函数
public boolean insertPostByProc(String title, String author, String content, int fatherId)
throws SQLException {
if (conn == null)
DBConnect();
if (conn == null)
return false;
String strSQL = "{call insertNewPost(?,?,?,?)}";
CallableStatement sqlStmt = conn.prepareCall(strSQL);
ResultSet sqlRst = null;
sqlStmt.setString(1,title);
sqlStmt.setString(2,author);
sqlStmt.setString(3,content);
sqlStmt.setInt(4,fatherId);
int affectedRow = sqlStmt.executeUpdate();
sqlStmt.close();
conn.close();// 这句是出现以上那个connection busy错误后加的,也没有用。
if (affectedRow>0)
return true;
else
return false;
}
执行,第一次成功。第二次就出现“Connection is busy with results for another hstmt”的错误。
数据库是Sql Server7.0 桌面版。我使用的是sun公司的jdbc odbc桥驱动。
网上查了一下,说是sun的driver不支持多线程,可以换其他的odbc driver。
但是我既没有用到多线程,也不想换驱动。
请问大侠,该如何解决这个问题。
附调用此存储过程的函数
public boolean insertPostByProc(String title, String author, String content, int fatherId)
throws SQLException {
if (conn == null)
DBConnect();
if (conn == null)
return false;
String strSQL = "{call insertNewPost(?,?,?,?)}";
CallableStatement sqlStmt = conn.prepareCall(strSQL);
ResultSet sqlRst = null;
sqlStmt.setString(1,title);
sqlStmt.setString(2,author);
sqlStmt.setString(3,content);
sqlStmt.setInt(4,fatherId);
int affectedRow = sqlStmt.executeUpdate();
sqlStmt.close();
conn.close();// 这句是出现以上那个connection busy错误后加的,也没有用。
if (affectedRow>0)
return true;
else
return false;
}
|
也许执行上面方法的时候,还有其他的记录集是打开的
|
是SQL Server的ODBC中一个Connection只能有一个Statement。既然你已经把Statement关掉了,如果你的程序是单线程应该不会出问题的。
|
看不出有什么问题,
不知你的DBConnect();方法Bean是怎么写的,
或许问题在里面。
你仔细查查,多调试,步步跟踪看看。
不知你的DBConnect();方法Bean是怎么写的,
或许问题在里面。
你仔细查查,多调试,步步跟踪看看。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。