Maison  >  Questions et réponses  >  le corps du texte

Informations sur l'exception de procédure stockée MariaDB : fin inattendue du flux, erreur de lecture de 0 octet

<p>Nous avons une procédure stockée dans MariaDB qui fonctionne correctement sur le serveur, mais lorsque nous l'exécutons à partir du client en utilisant JDBC, nous pouvons obtenir les premières lignes, mais obtenons toujours l'erreur suivante par la suite : </p> ; <pre class="brush:php;toolbar:false;">fin inattendue du flux, lecture de 0 octet sur 4 (le socket a été fermé par le serveur)</pre> <p>Table<code>loan_balances2</code> n'est pas trop grand, environ 600 000 lignes. Il s'agit d'une procédure stockée, voyez-vous quelque chose qui ne va pas ? Merci! </p> <pre class="brush:php;toolbar:false;">CRÉER UNE PROCÉDURE `get_loan_balances_sample`() COMMENCER supprimer la table si elle existe all_loan_ids ; supprimer la table si elle existe random_loan_ids ; créez la table all_loan_ids en sélectionnant un prêt_id distinct à partir de prêt_balances2 ; créer la table random_loan_ids en sélectionnant * dans l'ordre all_loan_ids par RAND() limite 50 ; SELECT * FROM prêt_balances2 où prêt_id dans (sélectionnez Loan_ID dans random_loan_ids) commande par Loan_ID, balance_date ; FIN</pre></p>
P粉004287665P粉004287665420 Il y a quelques jours452

répondre à tous(1)je répondrai

  • P粉087951442

    P粉0879514422023-08-27 14:50:21

    Habituellement net_write_timeout. Si votre application ne peut pas lire les données à la vitesse d'écriture du serveur, celui-ci fermera le socket. net_write_timeout est le délai, en secondes, pendant lequel le serveur tente d'envoyer un ensemble de résultats. Vous pouvez augmenter cette limite, qui est une variable de session. Cela apparaît également dans la FAQ de MariaDB JDBC.

    répondre
    0
  • Annulerrépondre