원래 IBM.Data.Informix의 원본을 사용하여 작업 할 때 ASP.NET 응용 프로그램에 대한 ASP.NET 2.0 대체품을 개발했습니다. Dll (2.81). 대체 부분은 정상적으로 작동하지만 데이터베이스에 연결할 때 간헐적으로 멈 춥니 다. (원본과 관련된 문제입니다.) dll (3.70)의 최신 버전으로 업그레이드하기로 결정했으나 이전 버전을 삭제하고 교체 할 때 그것과 함께 새로운, 다음 참조를 추가, 지금은 "개체 참조가 설정되지 않음"오류 때마다 응용 프로그램을 빌드 얻을.IBM.Data.Informix.dll을 업데이트 한 후 "Object reference not set"오류가 발생했습니다.
오류는 줄을 지정하거나 유용한 정보를 제공하지 않습니다. 작성하기 전에 .aspx 페이지 중 하나를 열면 파일 자체에 대한 경고도 표시됩니다. 영문 파일이 열려있을 때
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
또한, 이것은 상단에 밑줄 : 특히 한 페이지,
: Build (web): Object reference not set to an instance of an object.
그리고 경고 : 여기
전체 오류입니다 :다시 말하면 이것은 최신 버전의 dll입니다. dll은 (64 비트 SDK에서 가져온) 내 시스템에 맞는 버전입니다. 이 DLL을 제거한 다음 이전 DLL로 교체하면 다시 정상적으로 작동합니다.
IBM.Data.Db2를 사용하지 않는 이유를 설명하기 위해 : Informix 서버는 10.0이고 DB2는 11.10 이상에서만 작동합니다.
Satyan의 질문 : 웹 사이트의 GAC 참조는 3.0.0.2로 설정되어 있습니다. 참조를 추가 할 때 DLL의 버전 번호는 3.00.05000.2입니다. 이것이 문제가 될 수 있다면 어떻게 수정해야합니까?
FYI : 9.50은 10.00으로 출시 된 것에 대한 내부 지정입니다. 일부 버전 문자열 (9.50)에있을 가능성이 있지만 대부분의 사람들은이 버전을 10.00으로 인식합니다. –
잘 알고 있습니다 - 제 상사가 버전 10이라고 말한 것이 이상하다고 생각했지만 db를 쿼리했을 때 9.50이라고 대답했습니다. :) – Ben
'SELECT DBINFO ('version', 'full') 시도해보십시오 informix.systables WHERE tabid = 1'; 10.00 (및 몇 가지 추가 버전 정보)을 말해야합니다. –