SQL Server 2012连接已关闭问题

时间:2016-07-01 09:19:07

标签: java azure jdbc sql-server-2012 database-connection

我得到" com.microsoft.sqlserver.jdbc.SQLServerException:SQL Server返回了一个不完整的响应。连接已关闭。"在Java应用程序中对Azure SQL数据库执行连续SQL查询时出现异常。在Azure SQL数据库上执行的SQL查询正在大量获取数据。在获取数据时,我们对每一行执行一些操作,因此需要很长时间才能执行。我得到这个SQL查询执行一定时间后异常(时间段不一致).SQL服务器版本为12.0.2000.8。

以前有人遇到过这种行为吗?

代码段

Deprecation warning: moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.
Arguments: [object Object]
Error
    at Function.createFromInputFallback

SQL查询

 sourceDbConnection = SourceDBConnector().getConnection();
        stmt = createStmt(sourceDbConnection);
        resultSet = stmt.executeQuery(sql query);
        while (resultSet.next()) {
           // .. Do some operation.
        }

例外:

SELECT coalesce(rfr.UniqueID,rs.UniqueID) as PGUID, rs.resultname, rs.ResultId, rs.modifieddatetime FROM tblResult rs
                JOIN tblResultOrg org ON org.CustomerId = rs.CustomerId
                LEFT OUTER JOIN tblResultFormRef rfr ON rfr.UniqueID = rs.UniqueID
                WHERE org.ORGID IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25) AND NOT EXISTS (SELECT NULL FROM tblSynchedResult srs WHERE srs.ResultId=rs.ResultId) AND rs.Status=1             
                ORDER BY rs.modifieddatetime

1 个答案:

答案 0 :(得分:0)

有一些想法可以分享给你。

  1. 加载到blog,似乎不是由连接字符串而不是encrypt=true;引起的,但仍然要确保使用安全套接字层(SSL)加密启用了jdbc连接。 SO线程SQL Server JDBC Error on Java 8: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption的类似问题是由于缺少SSL加密而引起的。

  2. 该问题似乎是由Azure SQL数据库资源限制引起的,请参阅https://azure.microsoft.com/en-us/documentation/articles/sql-database-resource-limits/的详细信息,并参考文章中的建议尝试解决此问题。同时,作为参考,请参阅article有关SQL数据库客户端应用程序的SQL错误代码以找出问题。

  3. 根据您的sql experssion,根据我的经验,我建议您可以尝试为sql查询创建物化视图或索引视图以优化Azure SQL上的性能,请参阅https://msdn.microsoft.com/en-us/library/dn589782.aspx,{{ 3}}和https://msdn.microsoft.com/en-us/library/ms187864(v=SQL.100).aspx了解设计模式。