Bonjour,
Que dois-je installer sur un serveur W2K8R2 de production comme pilotes Oracle pour qu'une application web ASP.NET basée sur Oracle.DataAccess.Client puisse fonctionner ?
Merci d'avance,
Bonjour,
Que dois-je installer sur un serveur W2K8R2 de production comme pilotes Oracle pour qu'une application web ASP.NET basée sur Oracle.DataAccess.Client puisse fonctionner ?
Merci d'avance,
Cette page http://www.oracle.com/technetwork/to...ex-085163.html ne t'aide pas à installer le bon composant ?
Bonjour,
Je parlais bien d'une mise en production et pas d'une installation sur le poste de développement.
Mais je vais regarder plus attentivement pour voir si un article en parle.
Cordialement,
Bonjour,
Après avoir installé ODT sur le serveur de production, puis déployé l'application Web, j'ai mis dans le dossier bin les DLL : OracleDataAccess, OracleDataAccess.resources et même Policy.4.112.OracleDataAccess.
Voici le message d'erreur que j'obtiens au lancement.
Server Error in '/MonAppli' Application.
Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies. Tentative de chargement d’un programme de format incorrect.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.BadImageFormatException: Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies. Tentative de chargement d’un programme de format incorrect.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Assembly Load Trace: The following information can be helpful to determine why the assembly 'Oracle.DataAccess' could not be loaded.
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
Stack Trace:
[BadImageFormatException: Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies. Tentative de chargement d’un programme de format incorrect.]
System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0
System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks) +567
System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +192
System.Reflection.Assembly.Load(String assemblyString) +35
System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +118
[ConfigurationErrorsException: Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies. Tentative de chargement d’un programme de format incorrect.]
System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +11392147
System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +484
System.Web.Configuration.AssemblyInfo.get_AssemblyInternal() +127
System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +334
System.Web.Compilation.BuildManager.CallPreStartInitMethods() +280
System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +1087
[HttpException (0x80004005): Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies. Tentative de chargement d’un programme de format incorrect.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11524352
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +141
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +4782309
Si j'enlève les DLL, voici le message reçu :
Server Error in '/MonAppli' Application.
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: Could not load file or assembly 'Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. Le fichier spécifié est introuvable.
Source Error:
Line 12: <compilation debug="true" targetFramework="4.0">
Line 13: <assemblies>
Line 14: <add assembly="Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89B483F429C47342"/>
Line 15: </assemblies>
Line 16: </compilation>
Source File: C:\Sites\MonAppli\web.config Line: 14
Assembly Load Trace: The following information can be helpful to determine why the assembly 'Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342' could not be loaded.
Je n'arrive pas à trouver ce qu'il manque,
Merci pour votre aide.
Pourquoi ajoutes-tu les DLLs Oracle dans le répertoire "bin" ?
Normalement, en passant par "Publier le site Web", tu obtiens dans le répertoire choisi ton site Web près à être déployer où tu veux.
Autre chose, il faut que tu fasses attention d'utiliser les mêmes versions des DLLs entre ton poste de développement et le serveur.
Parce qu'il s'agit d'un site web et non d'une application Web, enfin je pense car j'ai toujours fait des sites au lieu d'applications.
Quant aux versions, elles sont bien identiques car c'est la DLL de la station de travail.
Tu parles de "la DLL", je ne pense pas qu'une seule DLL soit nécessaire pour interfacer .NET à Oracle.
Ce que je te propose :
- teste une version publiée de ton site/application Web sur ton IIS local sur ton poste de travail
- sur le serveur de Prod, vérifie la présence de "OracleDataAccess" dans le GAC (c:\windows\assembly)
- Dans ton erreur "sans DLL", vérifie que la ligne 14 est aussi présente et identique sur ton poste de dev.
Sur le serveur, la DLL se trouve dans le GAC_32 et sa version est la suivante :
v4.0_4.112.2.0__89b483f429c47342
Alors que celle référencée dans le web.config est la suivante :
<add assembly="Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89B483F429C47342"/>
La signature semble la même alors que la version semble plus récente.
Du coup je me demande s'il ne faut pas que je référence la même version sur le serveur en utilisant gacutil.exe ?
Qu'en pensez-vous ?
Les deux autres points (1 et 3) sont OK.
Si tu me dis que sur ton poste, le site web fonctionne parfaitement et se connecte sans pb à la base Oracle et que sur le serveur de Prod, le site ne fonctionne pas, je pense que tu as des soucis des drivers .NET pour Oracle.
Vérifie bien que tu as installé la même version d'Oracle Data Provider (32bits ou 64bits, pour VS ou pas).
Sinon essaye de voir avec gacutil.exe.
Bonjour,
J'ai résolu mon problème avec deux actions :
- Activation des applications 32 bits sur les pools d'applications
- Installation du client Oracle 64 bits.
La première solution aurait pu suffire, si le tnsname.ora avait été visible, par les applications, mais ce n'était pas le cas, même en définissant un ORA_HOME. Il m'a donc fallu installer le client oracle.
Cordialement,
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager