10 個のデータベースにアクセスし、データベースごとに 10 個の異なるデータセットを埋める VB.Net プログラムがあります。プログラムは、アクティビティがない午後 11 時に自動的に実行されるため、それが最速の方法でなくても問題ありませんでした。
ただし、問題は次のとおりです。オフラインのデータベースに接続しようとすると (インターネットの停止、VPN トンネルのダウンなど)、プログラムは続行されず、最終的にタイムアウトになります。以下は、繰り返し実行されるコードのスナップショットです。各サイト。
Me.1TableAdapter.Connection.ConnectionString = "Data Source=10.0.1.1;Initial Catalog=cat;Persist Security Info=True;User ID=id;Password=password;Connection Lifetime=0"
Me.2TableAdapter.Connection.ConnectionString = "Data Source=10.0.1.1;Initial Catalog=cat;Persist Security Info=True;User ID=id;Password=password;Connection Lifetime=0"
Me.3TableAdapter.Connection.ConnectionString = "Data Source=10.0.1.1;Initial Catalog=cat;Persist Security Info=True;User ID=id;Password=password;Connection Lifetime=0"
次に、上記の情報を使用して HTML テーブルを作成します。
<html>
<body>
<table border="1">
<tr><th>Description</th><th> Location </th></tr>
<%= From opentime In Me.Dataset.1.AsEnumerable _
Select <tr><td>Open Time</td>
<td><%= 1.TimeIn.ToString("hh:mm tt") %></td>
<td width="50"><%= 1.Name %></td></tr> %>
等...
次に、次のデータベースに移動します。
Me.1TableAdapter.Connection.ConnectionString = "Data Source=10.0.1.2;Initial Catalog=cat;Persist Security Info=True;User ID=id;Password=password;Connection Lifetime=0"
Me.2TableAdapter.Connection.ConnectionString = "Data Source=10.0.1.2;Initial Catalog=cat;Persist Security Info=True;User ID=id;Password=password;Connection Lifetime=0"
Me.3TableAdapter.Connection.ConnectionString = "Data Source=10.0.1.2;Initial Catalog=cat;Persist Security Info=True;User ID=id;Password=password;Connection Lifetime=0"
次に、そのデータベースのテーブルを作成します。
<html>
<body>
<table border="1">
<tr><th>Description</th><th> Location </th></tr>
<%= From opentime In Me.Dataset.1.AsEnumerable _
Select <tr><td>Open Time</td>
<td><%= 1.TimeIn.ToString("hh:mm tt") %></td>
<td width="50"><%= 1.Name %></td></tr> %>
最初の試行 (データソース 10.0.1.1) がタイムアウトした場合、またはプログラムに接続できない場合、エラーが発生します。最初のデータソースでエラーが検出された場合、プログラムを次のデータソースに移動させるにはどうすればよいですか? 残りのテーブル アダプターをスキップする必要があることに注意してください (この例では 2、データ ソース 10.0.1.1 の場合は 3)。