2012-09-10 3 views
1

응용 프로그램을 배포 한 후 UAT 서버에서이 오류가 발생합니다. DEV & QA 서버를 포함한 다른 환경에서도 정상적으로 작동합니다.IBM DB2 .NET 데이터 공급자로 "등록 된 .Net Framework 데이터 공급자를 찾지 못했습니다."

  • UAT 서버는
  • DEV & QA 상자가 SP2 32 비트와 윈도우 2003이 .NET 4.0 및 IBM .NET 데이터 공급자
  • SP2 64 비트와 R2, .NET 4.0 및 IBM .NET 데이터 공급자 윈도우 2008입니다

우리는 Enterprise Library 5.0을 사용합니다. 다음은 web.config의 구성입니다.

<configSections> 
    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
</configSections> 

<connectionStrings> 
    <add name="DatabaseServer" connectionString="Server=XXX;Database=XXXX;UID=XXXX;PWD=XXXX;" providerName="IBM.Data.DB2" /> 
</connectionStrings> 

<dataConfiguration defaultDatabase="DatabaseServer"/> 

<system.data> 
    <DbProviderFactories> 
     <remove invariant="IBM.Data.DB2"></remove> 
     <add name="IBM DB2 .NET Data Provider" invariant="IBM.Data.DB2" description="IBM DB2 Data Provider for .NET Framework 2.0" type="IBM.Data.DB2.DB2Factory, IBM.Data.DB2, Version=9.0.0.2, Culture=neutral, PublicKeyToken=7c307b91aa13d208"/> 
    </DbProviderFactories> 
</system.data> 

제대로 작동하고 32 비트 서버의 데이터베이스에 연결됩니다. 필자는 64 비트 서버에서 데이터베이스 연결을 테스트하기 위해 Windows 응용 프로그램을 개발했으며 app.config에 모든 구성을 포함 시켰습니다. 그것도 완벽하게 작동하지만 IIS를 통해 웹 사이트에 액세스 할 때이 오류가 발생합니다 :

Failed to find or load the registered .Net Framework Data Provider

아무도 도와 줄 수 있습니까?

+0

클라이언트 액세스는 어떤 버전입니까? (V5R4, V7R1 등). IBM은 공급자에게 "dll hell"문제를 정확하게 존중하지 않았으며 버전은 중요합니다. http://www-01.ibm.com/support/docview.wss?uid=nas1ed6f6dcdf7015272862574470072d30f – David

+0

답변을 찾았습니까? ? –

답변

0

사용중인 Client Access 버전에 따라 IBM.DB2.iSeries 구성 요소가 작동하거나 작동하지 않을 수 있습니다. 우리는 V5R4에 당분간 머물 렀지 만, 6.1 버전이 나왔을 때 우리가 파산 한 모든 코드를 수정하기 위해 앞장서 서 있습니다. V5R4 버전은 64 비트에서 전혀 작동하지 않습니다. 최신 버전에 대해서는 잘 모르겠습니다.

하나의 옵션은 X64, Itanium 또는 모든 CPU 대신 x86을 대상으로 컴파일하도록 프로젝트를 설정하는 것입니다.