MariaDB ストアド プロシージャの例外情報: 予期しないストリームの終わり、0 バイトの読み取りエラー
P粉004287665
2023-08-26 22:16:32
<p>MariaDB にはサーバー上で正常に動作するストアド プロシージャがありますが、JDBC を使用してクライアントから実行すると、最初の数行は取得できますが、その後は常に次のエラーが発生します。 </p> ;
<pre class="brush:php;toolbar:false;">予期しないストリームの終わり、4 から 0 バイトを読み取りました (ソケットはサーバーによって閉じられました)</pre>
<p>Table<code>loan_balances2</code> はそれほど大きくなく、約 600K 行です。これはストアド プロシージャですが、何か問題があると思いますか?ありがとう! </p>
<pre class="brush:php;toolbar:false;">CREATE PROCEDURE `get_loan_balances_sample`()
始める
all_loan_ids が存在する場合はテーブルを削除します。
存在する場合はテーブルを削除random_loan_ids;
loan_balances2 から個別の loan_id を選択してテーブル all_loan_ids を作成します。
select * from all_loan_ids order by RAND()制限50としてテーブルrandom_loan_idsを作成します。
SELECT * FROM ローン残高2
ここで、loan_id は (random_loan_ids から Loan_ID を選択します)
Loan_ID、balance_date で並べ替えます。
終了前>
通常は net_write_timeout。アプリケーションがサーバーの書き込み速度でデータを読み取ることができない場合、サーバーはソケットを閉じます。 net_write_timeout は、サーバーが結果セットの送信を試行する時間制限 (秒単位) です。セッション変数であるこの制限を増やすことができます。これは、MariaDB JDBC の FAQ にも記載されています。