none
AccessのODBCエラーの回避方法はないですか? RRS feed

  • 質問

  • Access2016とSQL Server2017によるODBCリンク接続エラーの対処方法に関して教えてください。

    エラー内容は以下の通りです。

    ODBC--呼び出しが失敗しました。

    [Microsoft][SQL Server Native Client 11.0]TCPプロバイダー:既存の接続はリモートホストに強制的に切断されました。(#10054)[Microsoft][SQL Server Native Client 11.0]通信リンクが失敗しました。(#10054)

    発生条件はクライアントPCがスリープになった後、復帰したときです。おそらくスリープになって通信が切れてしまったためかと思っています。

    これまではこのエラーを回避するためにクライアントPC側で一定時間経過後(5分)、自動的に通信のないフォームまで閉じ、10分後にスリープになるようにして運用していました。

    しかし今回クライアントPCとしてタブレット(Surface)を導入し接続できるようにしたところ、Surfaceのinstant goにより電源ボタンの割り当てに画面を消すがなく、「スリープ」または「なし」しか選べないようです。タブレットのため電源接続なしで使用することが多く、スリープなしというのは電池の持ち具合から現実的ではなく、またinstant goを解除するとスリープからの復帰が遅いためできればinstant goを使用したいと思っています。(今回Surfaceを導入したのはスリープからの復帰が速いというのが1つの理由のため、できればこの機能を活かしておきたいです。)

    そこで下記内容について教えてください。

    ①上記エラーはサーバ側に影響を与えますでしょうか?それほど難しい使い方はしていないつもりですが、サーバ側には余計なエラーなどで負荷をかけたくないとは思います。もしクライアント側だけにしか影響しないエラーであれば最悪このエラーを発生させて運用しようかと思ってもいます。

    ②スリープについて回るエラーだと思いますが(思い込みだったらすみません)、皆様はどのようにこのエラーを回避していますか?

    ③スリープになる瞬間を検知して、VBAでフォームを閉じる、またはAccessを終了することはできますでしょうか?

    2018年10月20日 2:55

すべての返信

  • どのように接続されているのでしょうか? SQL Server Native Clientのメッセージが出ていますが、Microsoft OLE DB Provider for ODBC (MSDASQL) を使用されているのではないのでしょうか?

    ★良い回答には質問者は回答済みマークを、閲覧者は投票を!

    2018年10月23日 1:25
    モデレータ