C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: 【C#】MySqlConnection接続失敗


(過去ログ 99 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■58958 / inTopicNo.1)  【C#】MySqlConnection接続失敗
  
□投稿者/ Sakura (1回)-(2011/05/06(Fri) 16:15:24)

分類:[C#] 

VS2010 C#でローカルにインストールしたMySQLへの接続をしています。

毎秒500回程度の接続を開いては閉じてを繰り返しているのですが、
稀に接続を開くのに失敗をしているようで、現状は対処療法として以下のような形で対応しています。
最大接続数は1000に設定しており、MySQLAdministratorで接続数を確認しましたが、上限には
達していません。

原因調査について、手順等教えて頂けますでしょうか?
また、接続を確立させる為のコードの書き方の定石などありましたら併せてアドバイス頂けると
助かります。


MySqlConnection connect = new MySqlConnection(【接続文字列】);

try
{
connect.Open();
}
catch
{
bool openFlag = false;

while (!openFlag)
{

try
{
connect.Open();
openFlag = true;
}
catch
{
System.Threading.Thread.Sleep(50);//待機
}
}
}


引用返信 編集キー/
■58959 / inTopicNo.2)  Re[1]: 【C#】MySqlConnection接続失敗
□投稿者/ クレナディン (1回)-(2011/05/06(Fri) 16:26:24)
No58958 (Sakura さん) に返信
> VS2010 C#でローカルにインストールしたMySQLへの接続をしています。
>
> 毎秒500回程度の接続を開いては閉じてを繰り返しているのですが、
> 稀に接続を開くのに失敗をしているようで、現状は対処療法として以下のような形で対応しています。

失敗時にはどのような例外が発生しているのでしょうか?
それを調べると解決の近道が見えるかもしれません。
引用返信 編集キー/
■58960 / inTopicNo.3)  Re[2]: 【C#】MySqlConnection接続失敗
□投稿者/ Sakura (2回)-(2011/05/06(Fri) 16:40:33)
No58959 (クレナディン さん) に返信
> 失敗時にはどのような例外が発生しているのでしょうか?
> それを調べると解決の近道が見えるかもしれません。

失礼しました。

エラー内容については以下になります。

MySql.Data.MySqlClient.MySqlException がキャッチされました
Message=Unable to connect to any of the specified MySQL hosts.
Source=MySql.Data
ErrorCode=-2147467259
Number=1042
StackTrace:
場所 MySql.Data.MySqlClient.NativeDriver.Open()
場所 MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
場所 MySql.Data.MySqlClient.MySqlConnection.Open()
場所 【エラーが発生しているプログラムのパスと行】

InnerException:
Message=種類 'System.Exception' の例外がスローされました。
Source=MySql.Data
StackTrace:
場所 MySql.Data.MySqlClient.NativeDriver.Open()
InnerException:

引用返信 編集キー/
■58961 / inTopicNo.4)  Re[3]: 【C#】MySqlConnection接続失敗
□投稿者/ クレナディン (2回)-(2011/05/06(Fri) 16:54:33)
No58960 (Sakura さん) に返信

> 毎秒500回程度の接続を開いては閉じてを繰り返しているのですが、
> 稀に接続を開くのに失敗をしているようで、現状は対処療法として以下のような形で対応しています。

毎秒500回程度の接続を開いては閉じているとのことですが、これは、プログラム上で同じ接続先のOpen&Closeを
繰り返しているのでしょうか?
ちなみに、毎秒500回程度の動作となると、これは何かの検証だと思うのですが、その目的は何でしょう?
引用返信 編集キー/
■58962 / inTopicNo.5)  Re[4]: 【C#】MySqlConnection接続失敗
□投稿者/ Sakura (3回)-(2011/05/06(Fri) 17:03:29)
No58961 (クレナディン さん) に返信

> 毎秒500回程度の接続を開いては閉じているとのことですが、これは、プログラム上で同じ接続先のOpen&Closeを
> 繰り返しているのでしょうか?

はい。TcpListenerでデータを受信し、受信毎にOpen&Closeを繰り返しています。


> ちなみに、毎秒500回程度の動作となると、これは何かの検証だと思うのですが、その目的は何でしょう?

前述のように、TcpListenerで受信したデータのインサートが目的ですが、一番接続が多い時で300件/秒が予測
されます。余裕をもって500回でテストを行っています。

実際には必ず毎秒500件ということではなく、0〜300件程度の間で増減します。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -