Sybase IQ 16: java.sql.SQLException: JZ0C0: соединение уже закрыто

Я использую Sybase IQ версии 16.0 и драйвер SQL Anywhere JDBC 4.0 (com.sybase.jdbc4.jdbc.SybDriver), как указано в Sybase Support Doc . Я написал простой код Java, как показано ниже.

      import com.sybase.jdbc4.jdbc.SybDriver;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import java.util.stream.Collectors;

public class TestClass{
    public static void main(String args[]) throws Exception {
        try {
            String table_name;
            Class.forName("com.sybase.jdbc4.jdbc.SybDriver");
            Connection con = DriverManager.getConnection("jdbc:sybase:Tds:10.13.93.30:2638?ServiceName=xyz", "username", "password");
            System.out.println("Connection established......");
            //gets all table names from system table
            String query = "SELECT TABLE_NAME, USEr_NAMe FROM SYS.SYSTABLE T INNER JOIN SYSUSER U ON T.CREATOR = U.USER_ID WHERE USER_NAME = 'perf_TS2_Schema_1'";
            PreparedStatement stmt = con.prepareStatement(query);
            ResultSet rs = stmt.executeQuery();
            ResultSetMetaData md = rs.getMetaData();
            while (rs.next()) {
                table_name = (String) rs.getObject(md.getColumnName(1));
                System.out.println(table_name);
                PreparedStatement stmt2 = con.prepareStatement("Select * from perf_TS2_Schema_1." + tables.get(i));
                ResultSet rs2 = stmt2.executeQuery();
             // do something with resultset
          }
            if (con != null)
                con.close();
        }
        catch(SQLException e){
            System.out.println(e);
        }
    }

}

Соединение разрывается со стороны SybaseIQ после обработки около 740-780 таблиц (что занимает около 15 минут) с ошибкой ниже

      java.sql.SQLException: JZ0C0: Connection is already closed

Я попытался изменить приведенные ниже настройки сервера, как указано на веб-сайте поддержки.

MAX_IQ_THREADS_PER_CONNECTION : 5000

DEDICATED_TASK : ВКЛ.

MAX_STATEMENT_COUNT: 2147483647 (максимальное значение INT)

Но все равно не повезло. Любая помощь в этом будет высоко оценена.

0 ответов

Другие вопросы по тегам