自分のシステムにパラレルデータベースを保存したい。私は、データベースが保存される2つの宛先を持っています。まず、ローカルコンピュータで(私はIPアドレスの代わりにlocalhostを使用しています)とリモートPC(私はそれにアクセスするためにIPアドレスを使用しています)。ここ は私のコードです:データベースへのMySQL接続を無視する方法
static string MyConnectionString = "Server=localhost;Port=3306;Database=database freq logger;Uid=root;";
static string MyConnectionString2 = "Server=192.168.41.105;Port=3306;Database=database freq logger;Uid=irfan;";
MySqlConnection connection = new MySqlConnection(MyConnectionString);
MySqlConnection connection2 = new MySqlConnection(MyConnectionString2);
MySqlCommand cmd;
public void Read()
{
while (port.IsOpen)
{
try
{
if (port.BytesToRead > 0)
{
string message = port.ReadLine();
this.SetText(message);
connection.Open();
try
{
cmd = connection.CreateCommand();
cmd.CommandText = "INSERT INTO frequency(value)VALUES(@message)";
cmd.Parameters.AddWithValue("@message", message);
cmd.ExecuteNonQuery();
}
catch (Exception)
{
throw;
}
connection.Close();
if (connection2 != null && connection2.State == ConnectionState.Closed)
{
connection2.Open();
try
{
cmd = connection2.CreateCommand();
cmd.CommandText = "INSERT INTO frequency(value)VALUES(@message)";
cmd.Parameters.AddWithValue("@message", message);
cmd.ExecuteNonQuery();
}
catch (Exception)
{
throw;
}
connection2.Close();
}
}
}
catch (TimeoutException) { }
}
}
だから私は2 connectionsql(接続1と接続2)を持っています。
そして、私は接続2を無視しますが、接続は接続されていません。接続はイーサネットLANです。だから私がLANのプラグを抜くと、私のプログラムがまだ動いていることを願っています。
私はいつも "connection2.Open();"の中で(私は突然プログラムが走っている時にイーサネットを外したときに)エラーを受け取ります。
私はちょうどトラップ、積極的な接続を監視するために、結果として例外を試してみて、それを無視しないでください、あなたに
を試してみてください。あなたは、ネットワークケーブルが取り外されているときにポートを開いたとみなすことはできますか? – khargoosh
@khargooshポートは私のArduinoに接続されたシリアルポート用ですが、それは問題ではありません。問題は私の接続2にあり、別のコンピュータに接続しています。 – fmayor