gpt4 book ai didi

java - 如何增加 SQL_ACTIVE_STATEMENTS LIMIT

转载 作者:行者123 更新时间:2023-12-01 13:30:18 25 4
gpt4 key购买 nike

我的代码对于少量查询运行良好

for (int i = 0 ; i < queries.length ; i ++ ) {
PreparedStatement stmt=conn.prepareStatement(queries[i]);
if (queries[i].toUpperCase().contains("SELECT ") && !queries[i].toUpperCase().contains("CREATE ") && !queries[i].toUpperCase().contains("DROP ") && !queries[i].toUpperCase().contains("DELETE "))
{ rs=stmt.executeQuery(); }
else {stmt.executeUpdate();}
}

我猜第 16 个语句出现了以下错误

Exception in thread "main" java.sql.SQLException: 
[Teradata][ODBC Teradata Driver] Beyond SQL_ACTIVE_STATEMENTS limit

如何增加 SQL_ACTIVE_STATEMENTS 限制

我试过了

    Connection conn = DriverManager.getConnection(conUrl,user,password);
conn.setHoldability(20);
conn.setClientInfo( //

最佳答案

你问错问题了。您的问题不是修改SQL_ACTIVE_STATMENTS LIMIT(顺便说一句,它看起来像一个常量,因此无法更改),而是在使用完每个语句后关闭它。

public static void main(String[] args) throws SQLException {
for (int i = 0; i < queries.length; i++) {
PreparedStatement stmt = conn.prepareStatement(queries[i]);
try {
if (queries[i].toUpperCase().contains("SELECT ") && !queries[i].toUpperCase().contains("CREATE ") && !queries[i].toUpperCase().contains("DROP ") && !queries[i].toUpperCase().contains("DELETE ")) {
rs = stmt.executeQuery();
} else {
stmt.executeUpdate();
}
} finally {
stmt.close();
}
}
}

请记住,关闭语句也会关闭任何关联的ResultSet(顺便说一句,您没有在任何地方声明)。

关于java - 如何增加 SQL_ACTIVE_STATEMENTS LIMIT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21608095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com