@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

「オブジェクト参照がオブジェクトインスタンスに設定されていません。」というエラーについて

1
投稿者投稿内容
DAI
会議室デビュー日: 2003/04/02
投稿数: 1
投稿日時: 2003-07-09 18:23
現在、開発環境から本番環境にアプリケーションを配置した際のエラーに悩まされています。
開発環境:
Win2k Server,VS.NET,SQL Server2000,MDAC2.7,IIS5.0
同一モジュールのプロジェクトを2つ構築(A:試験用、B:本番用)
本番環境:ロードバランサーの下にWebサーバが2台、DBサーバが1台
(Webサーバ2台)Win2k Server,.NET Framework 1.0,MDAC2.7,IIS5.0
(DBサーバ)SQL Server2000

開発環境で構築したプロジェクトAとBを本番環境のWebサーバ2台にそれぞれコピーしました。
すると、どちらのWebサーバも先にコピーした試験用(A)は正常に動作するのに対し、
本番用(B)では下記のエラーになってしまいます。

逆に、IISの試験用(A)と本番用(B)の仮想ディレクトリを削除し、
本番用(B)だけ改めて仮想ディレクトリを作成すると今度は本番用(B)が正常動作します。
一度に両方とも正常動作することは出来ないのでしょうか。

コードビハインドしているvbのファイルのPage_Load関数内で、
=========================================================
Dim conn As New ADODB.Connection()
Dim rs As New ADODB.Recordset()

   conn = CreateObject("ADODB.Connection")
rs = CreateObject("ADODB.Recordset")
ConnStr = "SQL Server2000への接続用定数文字列"

conn.Open(ConnStr)
sSQLstr = "SQL文"
rs.Open(sSQLstr, conn, 3, 1)

If rs.RecordCount > 0 Then
sUser_Plan += "<img localsrc =""" & rs("ICON_NO").Value & """>"
=========================================================
この流れで、rs.RecordCountまでは正常に値が取れているのですが、
その次の行のrs("ICON_NO").Valueでエラーが発生してしまいます。
参照先のDBにはレコードが1件あり、ICON_NOフィールドも数値が入っています。
rs.RecordCountは1件で返ってきますし、インスタンスの生成に失敗しているのでしょうか?
レコードセットのフィールドを参照すると全てエラーになるのです。
結局、nullのオブジェクトを参照しているから?だと思うのですが、
何故、そのオブジェクトがnullなのかも分かりません。
ただ、先に仮想ディレクトリを作成した方は上記のモジュールで正常動作しています・・・。
あと、adodb.dllはそれぞれC:\プロジェクト名\binに入れています。
Visual Studio.NETで開発(VB.NETプロジェクトのASP.NET Webアプリケーション)したものを
.NET Frameworkのみのサーバに配置する場合、何か特別な処理が必要なのでしょうか。

長々とすみません。
宜しくお願い致します。
1

スキルアップ/キャリアアップ(JOB@IT)