QA@IT
«回答へ戻る

回答を投稿

「接続できない」という状態は「サーバに接続しても応答がない」ことから判断されます。「応答がない」理由まではわからない為、あくまで「接続できない」ときに接続可能なデータベースを探しに行く仕組みになっています。

例えば、データベースAにつなぎにいってだめならデータベースBにつなぎに行くということですので、AとBの双方がつぶれていない場合は、オフィス全体のネットワーク断線などでもない限り、どちらかのデータベースが応答を返してくれます。

ケースとしては断線や回線混雑などネットワークの問題で通信できない場合のほか、サーバが高負荷のため処理がおいつかず、クライアントへ応答できない場合も含まれます。

この「応答がない」を判断するロジックは個々の製品に依存しますが、例えば5秒間返事がなく、かつ、リトライを3回しても返事がない場合、などOracle社の製品で見かけたことがあります。サーバをクラスタ化する際に使う負荷分散装置などは常にpingをサーバに対して投げかけて、応答があるかないかを監視していますが、odbcの場合は、データベースにつなぎにいった際に、応答がない場合に、別のデータベースにつなぎにいくと思われます。

お使いのodbcこのあたりの動作詳細が必要でしたら、じっくりと調査されるとよいと思います。

「接続できない」という状態は「サーバに接続しても応答がない」ことから判断されます。「応答がない」理由まではわからない為、あくまで「接続できない」ときに接続可能なデータベースを探しに行く仕組みになっています。

例えば、データベースAにつなぎにいってだめならデータベースBにつなぎに行くということですので、AとBの双方がつぶれていない場合は、オフィス全体のネットワーク断線などでもない限り、どちらかのデータベースが応答を返してくれます。

ケースとしては断線や回線混雑などネットワークの問題で通信できない場合のほか、サーバが高負荷のため処理がおいつかず、クライアントへ応答できない場合も含まれます。

この「応答がない」を判断するロジックは個々の製品に依存しますが、例えば5秒間返事がなく、かつ、リトライを3回しても返事がない場合、などOracle社の製品で見かけたことがあります。サーバをクラスタ化する際に使う負荷分散装置などは常にpingをサーバに対して投げかけて、応答があるかないかを監視していますが、odbcの場合は、データベースにつなぎにいった際に、応答がない場合に、別のデータベースにつなぎにいくと思われます。

お使いのodbcこのあたりの動作詳細が必要でしたら、じっくりと調査されるとよいと思います。