>  Q&A  >  본문

MariaDB 저장 프로시저 예외 정보: 예기치 않은 스트림 끝, 0바이트 읽기 오류

<p>MariaDB에는 서버에서 잘 실행되는 저장 프로시저가 있지만 JDBC를 사용하여 클라이언트에서 이를 실행하면 처음 몇 행을 얻을 수 있지만 나중에는 항상 다음 오류가 발생합니다. </p> <pre class="brush:php;toolbar:false;">예기치 않은 스트림 끝, 4에서 0바이트를 읽습니다(소켓이 서버에 의해 닫혔습니다)</pre> <p>Table<code>loan_balances2</code>는 약 600,000행으로 너무 크지 않습니다. 이것은 저장 프로시저입니다. 뭔가 문제가 있습니까? 감사해요! </p> <pre class="brush:php;toolbar:false;">프로시저 생성 `get_loan_balances_sample`() 시작하다 all_loan_ids가 있으면 테이블을 삭제합니다. Random_loan_ids가 있으면 테이블을 삭제합니다. Loan_balances2에서 고유한 Loan_id를 선택하여 all_loan_ids 테이블을 생성합니다. RAND() 제한 50을 기준으로 all_loan_ids 순서에서 * 선택하여 Random_loan_ids 테이블을 생성합니다. SELECT * 대출_잔액2에서 where Loan_id in (random_loan_ids에서 Loan_ID 선택) 대출_ID, 잔고_날짜별 주문; 종료</pre></p>
P粉004287665P粉004287665420일 전448

모든 응답(1)나는 대답할 것이다

  • P粉087951442

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

    보통 net_write_timeout입니다. 애플리케이션이 서버의 쓰기 속도로 데이터를 읽을 수 없으면 서버는 소켓을 닫습니다. net_write_timeout은 서버가 결과 세트 전송을 시도하는 시간 제한(초)입니다. 세션 변수인 이 제한을 늘릴 수 있습니다. 이는 MariaDB JDBC의 FAQ에도 나타납니다.

    회신하다
    0
  • 취소회신하다