レガシーシステム健在なり!えぇVB6です。
これまで何年も安定して動作していたシステムがエラーになるという報告を受けました。
さて、デバッグしてみますと、以下のようなエラーと判明
「データプロバイダまたはほかのサービスが、E_FAIL 状態を返しました。」
なんのことやら…
mlng_RecordCount = adoRS.RecordCount ←ここでエラーです。
まず疑うのは、データですね。
がしかしよくわかりません。
ネットでは「日付型」がキーのようですが、「日付型」は使用していませんし・・・
いろいろ調べていると
adoRs.CursorLocation = adUseClient
カーソル、これがどうやら原因のような記事がありました。
これをサーバカーソルにしてみると、あら不思議!
adoRs..CursorLocation = adUseServer
問題が解決したような感じがしますが、結果オーライなので
気持ち悪いです。
MDACのバージョンか?
http://support.microsoft.com/kb/301202/ja
レジストリキーはこちら
HKEY_LOCAL_MACHINE\Software\Microsoft\DataAccess\FullInstallVer
バージョンは、6.0.6002.18005 です。
MDAC は2.8までで、vista以降 Windows DAC となりバージョンは6へ!
これも違う。
そしてやっとわかりました!!!
フィールドの型が変更されていました。orz
従来の型に直すと問題なく動作します。
カーソルタイプも従来のままです。
ここは
インパクト大なのでさわらずにフィールド型を従来にあわせる方法をとることにします。
原因特定できてよかったよかった^^