だらだらやるよ。 このページをアンテナに追加 RSSフィード

 

2008-05-30

jdbcよくわからないなぁ

|  jdbcよくわからないなぁを含むブックマーク  jdbcよくわからないなぁのブックマークコメント

jdbcを使ってMySQL接続してたのですが、連続で数千件のインサートを行うと、途中で例外をはきました。

java.lang.IllegalStateException: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The driver was unable to create a connection due to an inability to establish the client portion of a socket.

This is usually caused by a limit on the number of sockets imposed by the operating system. This limit is usually configurable.

For Unix-based platforms, see the manual page for the 'ulimit' command. Kernel or system reconfiguration may also be required.

For Windows-based platforms, see Microsoft Knowledge Base Article 196271 (Q196271).

とりあえずエラーログMSのKnowledgeの番号書いてたので見てみる。。。

no title


レジストリいじるとかは違うなぁと思い、com.mysql.jdbc.exceptions.jdbc4.CommunicationsExceptionでぐぐってみると

どうも連続的に接続を切っては繋いで切っては繋いでしてるのが問題の様子。

MySQL :: CORRECT SOLUTION: Communications link failure due to underlying exception

の通りに設定を変えてみても駄目だったので、接続をある程度使いまわすようにコードを変更してみる。

とりあえずテストに使ってた数千件は通ったのでとりあえずここまで。



もうちょっとJava勉強が必要ですね。勘が働きにくいから、はまったときに調べるのが大変です。。。

トラックバック - http://d.hatena.ne.jp/nagakura_eil/20080530/p1
このブログは清野竜矢の個人的なものです。ここで述べられていることは私の個人的な意見に基づくものであり、 私の雇用者には一切の関係はありません。