2

У меня есть приложение Web Forms в .NET 4.0, что я бегу с beta Oracle EF-aware data provider, и я хочу, чтобы выполнить «ненавязчивый» развертывания Oracle в поле Win2k8, как показано на manySOsolutions.Ненавязчивый Oracle развертывания на Windows Server 2008

В окне Win2K8 установлена ​​существующая установка Oracle Instant Client, с которой я не могу ни работать, ни удалять, и она имеет запись в переменной среды PATH в окне Win2K8. Согласно this SO answer, мне не нужно устанавливать PATH для моих Oracle DLL, так как у меня есть DllPath, установленный в web.config.

Я следую процедуре от here, но я все еще получаю ошибку provider is not compatible with the version of Oracle client.

Вот мой (неудачная) установки, как сейчас:

Oracle библиотеки DLL в bin директории моего веб-приложения, и установите Copy ВсегдаНе копируйте.

Платформа и Platform Target настройки установлены на x86 в моей локальной конфигурации сборки.

32-разрядные приложения: включил в пул приложений (.NET 4.0) в поле Win2K8.

Oracle библиотеки DLL являются нет в GAC, являются ли они представить в GAC_32 и GAC_64 каталогов на поле Win2k8.

Мой web.config (но не мой Win2k8 machine.config) содержит следующее:

<configuration> 

    <configSections> 
     <section name="oracle.dataaccess.client" type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
    </configSections> 

    <oracle.dataaccess.client> 
     <settings> 
      <add name="DllPath" value="C:\inetpub\wwwroot\myapp\bin"></add> 
      <add name="FetchSize" value="65536"></add> 
      <add name="StatementCacheSize" value="10"></add> 
      <add name="TraceFileName" value="c:\temp\odpnet2.log"></add> 
      <add name="TraceLevel" value="0"></add> 
      <add name="TraceOption" value="0"></add> 
     </settings> 
    </oracle.dataaccess.client> 

    <system.data> 
     <!-- Version=4.112.2.50 --> 
     <DbProviderFactories> 
      <add name="Oracle Data Provider for .NET" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.112.2.50, Culture=neutral, PublicKeyToken=89b483f429c47342" /> 
     </DbProviderFactories> 
    </system.data> 

    <connectionStrings> 
     <add name="MyEntities" connectionString="metadata=res://*/MyModel.csdl|res://*/MyModel.ssdl|res://*/MyModel.msl;provider=Oracle.DataAccess.Client;provider connection string=&quot;DATA SOURCE=**<using EZCONNECT format here>**" providerName="System.Data.EntityClient" /> 
    </connectionStrings> 

<configuration> 

Само приложение развертывается успешно, и я могу запустить страницы, которые не ссылаются на мои библиотеки DLL Oracle. Но для тех, кто ссылается на Oracle, я все еще получаю ошибку совместимости с поставщиком.

Что мне не хватает?

Еще раз спасибо за помощь.

ОБНОВЛЕНИЕ: Веб-приложение работает на цели Win2K8 с .NET 4.0, EF4.1 и поставщиком Oracle EF, полностью отделенным от другой активной установки ODAC. Нет переменной PATH, без установки из Universal Installer, нет DLL-библиотек Oracle в GAC.

ответ

1

Корпус закрыт. Мне не хватало Oracle DLL.

+0

Hi bflow1. Было бы полезно включить в ваш ответ более подробно, так что другие пользователи могут извлечь из этого выгоду. На mininum было бы полезно назвать пропущенную DLL. –

+0

Ссылки, которые я опубликовал в списке вопросов DLL, и мой вопрос содержит все подробности моей полной настройки. – bflow1

Смежные вопросы