DbProviderFactories pour .NET d'Erreur
J'ai de la difficulté à obtenir l'ODP.NEt bibliothèque pour travailler avec la .NET DBProviderFactories. J'obtiens l'erreur suivante avec ce code:
_DBFactory = DbProviderFactories.GetFactory(providerName);
Une erreur s'est produite de la création du gestionnaire de section de configuration du système.données: la Colonne "InvariantName' est contraint d'être unique. Valeur D'Oracle.DataAccess.Client' est déjà présent.
avec cette providerName: Oracle.DataAccess.Client
Et l'entrée suivante dans le web.config:
<system.data>
<DbProviderFactories>
<add name="Oracle Data Provider for .NET" invariant="Oracle.DataAccess.Client" description=".Net Framework Data Provider for Oracle" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=10.2.0.100, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
</system.data>
Personne ne sait quel est le problème? Je ne pense pas que je l'ai mis deux fois n'importe où.
le même problème et à le résoudre stackoverflow.com/questions/4225908/...
OriginalL'auteur theringostarrs | 2010-01-15
Vous devez vous connecter pour publier un commentaire.
Si vous avez installé ODP.net (par exemple, en utilisant l'oracle universal installer, par opposition à xcopy), vous trouverez la même DbProviderFactories/ajouter dans la machine.config.
Afin de l'ajouter dans votre site web.la config est l'ajout d'une deuxième fois, donc, en double Oracle.DataAccess.Client!
Ce problème peut également se produire si vous avez installé ODP.net avant d'installer la version de .NET vous utilisez, dans mon cas .NET4.
Merci pour votre commentaire est-il une commande pour enregistrer à nouveau
Je voudrais réinstaller ODP.net mais vous pouvez suivre les instructions à community.oracle.com/thread/2127248?tstart=15 et cela devrait fonctionner. Je ne l'ai pas essayé moi-même bien que!
OriginalL'auteur martin
Pouvez-vous faire le ci-dessous? (Notez le "clear")
OriginalL'auteur granadaCoder
Il convient de noter que
<clear />
va effacer toutes lesDbProviderFactories
lesquels vous ne pouvez pas le faire, selon votre situation.Vous pourriez tout aussi bien supprimer cette classe juste avant de l'ajouter de nouveau en ajoutant cette ligne:
<remove invariant="Oracle.ManagedDataAccess.Client" />
Voici comment l'ensemble de la
<system.data>
ressemblerait à:Cela peut être utile si votre machine locale et les environnements de serveur n'ont pas l'appariement des fichiers de configuration de l'ordinateur.config.
L'autre chose que vous pourriez faire est de supprimer à partir de votre site web.config tous ensemble, en supposant que le paramètre de votre machine.la configuration de travail. Cependant, je tiens à le tester sur vous le développement de la machine et de vos serveurs. Dans mon cas, il a travaillé sur l'un mais pas l'autre, car la machine.les fichiers de configuration ne correspond pas. Pour résoudre, j'ai ajouté ce même paramètre de la machine.config sur le serveur sans le
<remove invariant="Oracle.ManagedDataAccess.Client" />
comme suit:OriginalL'auteur Tony L.
Probablement la machine fichier de config section DbProviderFactories s'est écrasé.
Vérifiez si il y a un excès d'Oracle.DataAccess.Client ligne, qui reste après la désinstallation du client oracle.
OriginalL'auteur yikekas