1

私は、最初に元のバージョンの IBM.Data.Informix.Dll (2.81) を使用して、作業中の ASP.NET アプリケーションの ASP.NET 2.0 代替を開発しました。置き換えはほとんどの場合問題なく動作しますが、データベースに接続するときに断続的にハングします (これはオリジナルの問題です)。最新バージョンの dll (3.70) にアップグレードすることにしましたが、古いバージョンを削除して置き換えたところ、新しいものを使用して参照を追加すると、アプリケーションをビルドするたびに「オブジェクト参照が設定されていません」というエラーが表示されるようになりました。

エラーは行を指定していないか、有用な情報を提供していません。ビルドする前に .aspx ページの 1 つを開くと、ファイル自体にも警告が表示されます。

エラー全体は次のとおりです。

: Build (web): Object reference not set to an instance of an object.

そして、特に 1 つのページに対する警告:

Warning 2   \\io\wwwroot\intranet\cwsheet-test2\Selection.aspx: ASP.NET runtime error: Object reference not set to an instance of an object.    \\io\wwwroot\intranet\cwsheet-test2\Selection.aspx  1   1   cwsheet-test2

さらに、aspx ファイルを開くと、上部に下線が引かれます。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Selection.aspx.cs" Inherits="XXX.Selection" %>

繰り返しますが、これは新しいバージョンの dll でのみ発生します。dll は、私のシステムに適したバージョンです (64 ビット SDK から取得)。この dll を削除して古いものに置き換えると、正常に動作し始めます。

私が IBM.Data.Db2 を使用しない理由を説明すると、私たちが使用している Informix サーバーは 10.0 で、DB2 は 11.10 以降でしか動作しません。

Satyan の質問に関して: Web サイトの GAC リファレンスは 3.0.0.2 に設定されています。参照を追加するときの DLL のバージョン番号は 3.00.05000.2 です。これが問題である可能性がある場合、どうすれば修正できますか?

4

2 に答える 2

1

ほとんどの場合、これのいずれかがこの問題の原因である可能性があります。GAC のプロバイダー DLL が正しくない可能性があります。または、machine.configバージョン情報が間違っている可能性があります。ほとんどの場合、(ただし、設定によって異なります) にあります C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config

適切な CSDK インストールにより、両方のエントリが更新されているはずです。プロバイダー DLL を単純なコピーに置き換えようとしていますか? その場合、機能しません。参考までに: あなたが言及した「断続的にハングアップする」は別のものです。理由がわからない。

于 2013-02-13T18:43:40.483 に答える
0

奇妙なことに、問題はドライバーのバージョンで十分であることが判明しました。64 ビット バージョンを動作させることにうんざりした後 (これは Server 2008 R2 64 ビット上にあるため、適切なバージョンです)、それをアンインストールして、代わりに 32 ビット バージョンを使用してみました (これが 2.90 バージョンでした)。完璧に。空のプロジェクトに追加された場合でも、64 ビットがすぐに問題を引き起こした理由がわかりません。32ビットよりもそのバージョンを使用したかったのですが、解決策を見つけるために数日を費やした後、実際に動作するため、32ビットを使用することにしました.

于 2013-02-18T21:07:38.433 に答える