JTDS - java.sql.SQLException: I/O Error: Connection reset by peer: socket write error

Ich bin mit jTDS ist ein open-source 100% pure Java (type 4) JDBC 3.0 Treiber für Microsoft SQL Server (2012).

Tomcat 7 - Ich habe Verbindungs-Pool-Konfiguration unter

<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/webapp">
    <Resource name="jdbc/dbname" auth="Container" type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000" removeAbandoned="true" removeAbandonedTimeout="60"
               username="abc" password="abc" driverClassName="net.sourceforge.jtds.jdbc.Driver"
               url="jdbc:jtds:sqlserver://localhost;databaseName=dbname;SelectMethod=Cursor"/>
</Context>

Manchmal, ich bin immer die, die unten Ausnahme - Nicht in der Lage, um eine Verbindung in sql server. Ich weiß nicht, der Grund, warum?

java.sql.SQLException: I/O Error: Connection reset by peer: socket
Fehler beim schreiben an
net.sourceforge.jtds.jdbc.TdsCore.executeSQL(TdsCore.java:1052)
net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:465)
bei
net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:777)
bei
org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
an
java.util.gleichzeitige.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
bei
java.util.gleichzeitige.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
bei java.lang.Thread.run(Thread.java:662), Verursacht durch:
java.net.SocketException: Connection reset by peer: socket write error
bei java.net.SocketOutputStream.socketWrite0(Native Method) at
java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
bei java.net.SocketOutputStream.schreiben(SocketOutputStream.java:136) at
java.io.DataOutputStream.write(DataOutputStream.java:90) at
net.sourceforge.jtds.jdbc.SharedSocket.sendNetPacket(SharedSocket.java:671)
bei
net.sourceforge.jtds.jdbc.RequestStream.putPacket(RequestStream.java:560)
bei
net.sourceforge.jtds.jdbc.RequestStream.flush(RequestStream.java:508)
bei net.sourceforge.jtds.jdbc.TdsCore.executeSQL(TdsCore.java:1039)
... 8 weitere 17-Apr-2015 12:00:54 FEHLER PatientProcessor:614 -
SQLException java.sql.SQLException: Bereits geschlossen. bei
org.apache.tomcat.dbcp.dbcp.PoolableConnection.in der Nähe(PoolableConnection.java:84)
bei
org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
an
java.util.gleichzeitige.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
bei
java.util.gleichzeitige.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
bei java.lang.Thread.run(Thread.java:662

Wenn Verbindungsfehler zeigt sich, irgendwas, dann: 1. überprüfen Sie, ob alle verbindungen verwendet werden, wenn Sie diese Fehlermeldung erhalten 2. prüfen Sie, ob eine Tabelle ist gesperrt, wenn Sie diese Fehlermeldung erhalten. Auch lassen Sie mich wissen, was sind die Schritte zur Problembehandlung Sie bereits versucht haben
Es gibt mehrere Anwendungen, die von sql server verwendet. Was wird sein max limit der Verbindung auf dem sql-server?
stackoverflow.com/questions/1499718/...
Das problem mit, wenn ich eine Verbindung herstellen können bestimmte Tabelle dieser Fehler Auftritt? Ist, dass Geräusche, Tabelle gesperrt ist? Wie um diesen Fehler zu beheben. Aber ich brauche, um die Datensätze aus dieser Tabelle?
Auch, wenn Sie sehen, die oben datasource-Konfiguration, maxActive verbindungen auf 100 gesetzt. Ist, dass die Konfiguration korrekt ist? Wenn wir reduzieren die maxActive verbindungen herauszufinden, dieses Problem?

InformationsquelleAutor arjun | 2015-05-13

Schreibe einen Kommentar