2012-01-25 8 views
2

私は現在、いくつかのSQLテーブルを監視し、MySQLテーブルにデータを転送している作業プログラムを持っています。基本的には、30秒ごとにチェックするループがあります。私の主な関心事は、ループを閉じるたびに接続を閉じて開く必要があることです。これは、複数のトランザクションについてエラーが発生したためです。私は私の接続を閉じると、私はまた、接続を処分する必要があります。トランザクションを破棄するとこの問題は解決したと思っていましたが、複数のトランザクションについてはまだエラーが発生していました。SQLをMySQL C#監視プログラムに転送する

これはすべて正常に動作しているようですが、接続を閉じることなくこれを行うより良い方法があるかどうかは疑問でした。

+2

私たちに見せることのできるコードはありますか? –

+0

いくつかのコードは素晴らしいでしょう。特に、db接続をどのように作成していますか?また、トランザクションのエラーも良いでしょう。 –

+0

DBを使用して必要な作業を行った後に、直接接続を開いて閉じることをお勧めします。あるタイプの同期プログラムをやっているだけの場合は、接続を開いたままにする必要はありません。 – user1231231412

答えて

0

エラーについてはわかりませんが、リモートコンピュータへの接続数を増やす必要があるようです。ここを見てくださいhttp://msdn.microsoft.com/en-us/library/system.net.configuration.connectionmanagementelement.maxconnection.aspx

また、複数のSQLを実現するために1つの接続を使用することもできます。

それは、それを確認するようにコードを提供してください解決しない場合には...

0

はあなたのループの中であなたのトランザクションをコミットしましたか? transaction.Commit() ...それは問題だった可能性があります...コードなしで言うのは難しいです。 ADO.NETは接続プーリングをバックグラウンドで使用するため、接続の開始と終了を心配する必要はありません。最初に接続を実際に「開く」だけです。その後、再び使用するプールに開かれたままになります。他の人が言ったように、いくつかのコードを投稿してください!

関連する問題