sql >> Database >  >> RDS >> Mysql

wat is java.io.EOFException, Bericht:kan het antwoord van de server niet lezen. Verwacht 4 bytes te lezen, lees 0 bytes

De verbinding is mislukt, mogelijk als gevolg van een inactieve time-out van de firewall, enz. Als uw JDBC-stuurprogramma niet is geconfigureerd om opnieuw verbinding te maken bij een fout, zal deze fout niet verdwijnen tenzij u een nieuwe verbinding opent.

Als u een databaseverbindingspool gebruikt (u bent gebruiken, toch?), dan wil je waarschijnlijk de verbindingscontrolefuncties inschakelen, zoals het geven van een vraag om te controleren of de verbinding werkt voordat je deze teruggeeft aan de applicatie. In Apache commons-dbcp heet dit de validationQuery en is vaak ingesteld op iets eenvoudigs zoals SELECT 1 .

Aangezien u MySQL gebruikt, moet u een Connector/J-specifieke "ping"-query gebruiken die lichter is dan het daadwerkelijk uitgeven van een echte SQL-query en uw validatiequery instellen op /* ping */ SELECT 1 (het ping-gedeelte nodig om precies te zijn ).



  1. MySQL dubbele master

  2. Escape SQL LIKE-waarde voor Postgres met psycopg2

  3. Buitenlandse sleutel toevoegen aan bestaande tabel

  4. hoe gebruik je `charset` en `encoding` in `create_engine` van SQLAlchemy (om een ​​panda-dataframe te maken)?