(LAN 内の) mySQL サーバーから巨大な結果セットを読み込もうとしています。メソッドを探して見つけた方法で実装しましたsetFetchSize
: BalusC's Example。だから私はした:
con = DriverManager.getConnection(url, user, password);
//con.setAutoCommit(false);
st = con.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
st.setFetchSize(Integer.MIN_VALUE);
rs = st.executeQuery(query);
int count = 0;
while (rs.next ()) {
// Process entry
String rsc = rs.getString ("resource");
String tpc = rs.getString("topic");
System.out.println(count + ": " + rsc);
++count;
}
ただし、行 1077 でハングしますrs.next()
。例外をスローしません。
編集:
タイムアウトの後、何か新しいことが起こりました。次のエラー メッセージが返されました。
JDWP exit error JVMTI_ERROR_NONE(0): getting frame location [../../../src/share/back/stepControl.c:641]
このエラーは無関係のようです。
EDIT2:ストリームで結果を取得するための PHP スクリプトをコーディングしましたが、まったく同じことが起こります。だから、JDBC とは何の関係もありません...何が起こっているのかわかりません!!