Java 仅服务器上存在套接字错误

Java 仅服务器上存在套接字错误,java,sockets,networking,jdbc,Java,Sockets,Networking,Jdbc,有一个java程序试图将大约150k条记录插入sql server数据库,但在生产服务器上失败,出现以下错误 [Microsoft][SQLServer2000 JDBC驱动程序]建立套接字时出错 在数据量(即插入数)增加后开始看到这些错误。SQL Server连接工作正常 我尝试通过如下设置Max connection pool来更改JDBC字符串 String DB_URL= "jdbc:sqlserver://example.com:11111;SelectMethod=Direct;Da

有一个java程序试图将大约150k条记录插入sql server数据库,但在生产服务器上失败,出现以下错误


[Microsoft][SQLServer2000 JDBC驱动程序]建立套接字时出错

在数据量(即插入数)增加后开始看到这些错误。SQL Server连接工作正常

我尝试通过如下设置Max connection pool来更改JDBC字符串

String DB_URL= "jdbc:sqlserver://example.com:11111;SelectMethod=Direct;DatabaseName=DB1;Max Pool Size=100000"
在本地机器上,程序运行良好。这说明程序没有问题

只有在prod server上尝试运行相同的程序时才会出现问题。即使在服务器上,也只有在数据量增加后才会看到此错误。在此之前,即使在服务器上,程序也运行良好

套接字错误主要是网络问题吗??需要同样的帮助吗

这是stacktrace

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)

如果数据库服务器连接不足,则可能会发生这种错误。数据库服务器中的并发连接有限制,请参阅服务器文档“由于连接泄漏”。您尚未提交代码,因此很难判断,但是,值得检查以下内容:

1您是否有可能在每个连接中只插入一条记录,并获得一个新连接以插入下一条记录? 2插入记录后是否关闭连接


如果可能的话,使用PreparedStatement和addBatch对插入进行批处理,看看有什么不同。

有堆栈跟踪。张贴它。在您的问题中,[Microsoft][SQLServer2000 JDBC驱动程序]建立套接字时出错。我明白了,这是个错误信息。我要求提供堆栈跟踪。可能是@GordThompson的重复。除了在这两个版本中都存在SQLServer之外,我看不到任何连接。此处的错误消息不同。您的副本至少有一个连接。这个不行,谢谢你帮我。我正在做批量插入和关闭连接也。最后找出了问题所在并解决了这个问题。该程序正在加载sql server 2000和2008驱动程序。我下载了新的sql server驱动程序,只使用了它。之后,程序运行正常。再次感谢你的帮助。