【发布时间】:2016-09-06 13:57:27
【问题描述】:
有一个 java 程序试图向 sql server 数据库插入大约 150k 条记录,但在生产服务器上失败并出现以下错误。
[Microsoft][SQLServer 2000 Driver for JDBC]建立套接字时出错
在数据量(即插入次数)增加后开始看到这些错误。 SQL Server 连接工作正常。
我尝试通过如下设置最大连接池来更改 JDBC 字符串
String DB_URL= "jdbc:sqlserver://example.com:11111;SelectMethod=Direct;DatabaseName=DB1;Max Pool Size=100000"
在本地机器上,程序运行良好。这说明程序没有问题。
只有在产品服务器上尝试运行相同的程序时才会出现问题。即使在服务器上仅在数据量增加后才看到此错误。在此之前,即使在服务器上程序也能正常工作。
套接字错误主要是网络问题吗?需要同样的帮助。
这是堆栈跟踪
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.setupImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.<init>(Unknown Source)
at com.microsoft.jdbc.base.BasePreparedStatement.<init>(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.prepareStatement(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.prepareStatement(Unknown Source)
【问题讨论】:
-
有一个堆栈跟踪。发表它。在您的问题中。
-
[Microsoft][SQLServer 2000 Driver for JDBC]建立套接字时出错。我明白了。
-
这是一条错误消息。我要求堆栈跟踪。
-
@GordThompson 除了两者都存在 SQLServer 之外,我看不到任何连接。这里的错误信息是不同的。您的副本至少有一个连接。这个没有。
标签: java sockets networking jdbc