jdbc连接报错超出准备语句的最大数量,这是数据库超过最大连接数了么?

com.sap.db.jdbc.exceptions.JDBCDriverException: SAP DBTech JDBC: [608]: exceed maximum number of prepared statements: the number of prepared statements per connection cannot exceed the max statements
at com.sap.db.jdbc.exceptions.SQLExceptionSapDB.createException(SQLExceptionSapDB.java:357)
at com.sap.db.jdbc.exceptions.SQLExceptionSapDB.generateDatabaseException(SQLExceptionSapDB.java:197)
at com.sap.db.jdbc.packet.ReplyPacket.buildExceptionChain(ReplyPacket.java:110)
at com.sap.db.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:934)
at com.sap.db.jdbc.CallableStatementSapDB.sendCommand(CallableStatementSapDB.java:1862)
at com.sap.db.jdbc.StatementSapDB.sendSQL(StatementSapDB.java:1007)
at com.sap.db.jdbc.CallableStatementSapDB.doParse(CallableStatementSapDB.java:255)
at com.sap.db.jdbc.CallableStatementSapDB.constructor(CallableStatementSapDB.java:207)
at com.sap.db.jdbc.CallableStatementSapDB.(CallableStatementSapDB.java:151)
at com.sap.db.jdbc.CallableStatementSapDBFinalize.(CallableStatementSapDBFinalize.java:16)
at com.sap.db.jdbc.ConnectionSapDB._prepareStatement(ConnectionSapDB.java:1601)
at com.sap.db.jdbc.ConnectionSapDB.prepareStatement(ConnectionSapDB.java:188)
at com.sap.db.jdbc.trace.Connection.prepareStatement(Connection.java:421)

3个回答

并不是,超出的是statement而不是connection,超出数据库最大连接数的情况下先死的是数据库服务器,会出现超多等待超时。估计是你某个提交statement的循环没控制好,在上一个statement没有关闭的情况下就创建了新的statement。

github_38426094
在佐佑 嗯我的statement循环没有没有close,谢谢
接近 2 年之前 回复

看起来是的,你最好设置下你的数据库允许最大链接数,不过问题应该在代码上,才造成连接数不够

某个值过大,检查你的数据库表字段

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐