2011年5月16日月曜日

ADODBとASP.net

現在、保守しているシステムでASP.net(Visualstudio2003) + ADODBといった構成のものが有ります。
開発当時は、様々な技術の過渡期であったことからこのような構成になったことが推測されます。

ただ、これまでこの環境下で安定的に運用されていたシステムですが、いきなり不機嫌になり、
「System.NullReferenceException : オブジェクト参照がオブジェクト インスタンスに設定されていません。」
が出現。
ん?

えーーーー!なにこれ!?こんなの初めて出たし、そんなところに変更加えたりしていないんだけど!
データかな?
と思い調査すると、データには問題なし。まぁ、そりゃそうだよね、これまで動いていたんだし。

更に、開発環境では上記事象が発生せず、本番環境のみで発生するという状況。
ソースを比較しても全く同じ。
参照設定等の環境周りについても同じ。

これには参った・・・・
が、これじゃないっすか?「http://support.microsoft.com/kb/810098/ja」なったことありんす。的な助言を受けて、あー、きっとこれだと、これしかない!と。

それで、該当プロジェクトの参照設定を外してロジックを見直してGO!
具体的には adodb.~ を全て削除して、
dim con,rs
con = Server.CreateObject("ADODB.Connection")
rs = Server.CreateObject("ADODB.Recordset")
といった感じに変更。

で、先方のテスト環境へ設置後、動確OK!
本番もOK!
いやぁ、良かった!

0 件のコメント:

コメントを投稿

とある規格化されたコード

世の中こんなもんまで規格化されていますよ、というお話 https://ja.wikipedia.org/wiki/ISO_5218 この辺が大変良くできた、ためになる(?)解説記事です。(長い https://qiita.com/aoshirobo/items/32deb...