IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ADO.NET Discussion :

Pilotes oracles à installer sur serveur de production


Sujet :

ADO.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 169
    Points : 65
    Points
    65
    Par défaut Pilotes oracles à installer sur serveur de production
    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,

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2005
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2005
    Messages : 165
    Points : 241
    Points
    241
    Par défaut
    Cette page http://www.oracle.com/technetwork/to...ex-085163.html ne t'aide pas à installer le bon composant ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 169
    Points : 65
    Points
    65
    Par défaut
    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,

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 169
    Points : 65
    Points
    65
    Par défaut
    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.

  5. #5
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2005
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2005
    Messages : 165
    Points : 241
    Points
    241
    Par défaut
    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.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 169
    Points : 65
    Points
    65
    Par défaut
    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.

  7. #7
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2005
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2005
    Messages : 165
    Points : 241
    Points
    241
    Par défaut
    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 :
    1. teste une version publiée de ton site/application Web sur ton IIS local sur ton poste de travail
    2. sur le serveur de Prod, vérifie la présence de "OracleDataAccess" dans le GAC (c:\windows\assembly)
    3. Dans ton erreur "sans DLL", vérifie que la ligne 14 est aussi présente et identique sur ton poste de dev.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 169
    Points : 65
    Points
    65
    Par défaut
    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.

  9. #9
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2005
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2005
    Messages : 165
    Points : 241
    Points
    241
    Par défaut
    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.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 169
    Points : 65
    Points
    65
    Par défaut [Résolu]
    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,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 16/03/2006, 18h05
  2. [Exchange 2003] ouverture pop sur serveur en production
    Par thanathz dans le forum Exchange Server
    Réponses: 2
    Dernier message: 30/11/2005, 13h28
  3. Oracle 9I sur serveur Windows 2000 : pb http server
    Par Frédérique Ostré dans le forum Oracle
    Réponses: 1
    Dernier message: 23/10/2005, 12h28
  4. Réponses: 4
    Dernier message: 29/08/2005, 17h42
  5. installation sur serveur + script
    Par liliprog dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 18/08/2004, 15h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo