9
votes

DbproviderFactories pour erreur .NET

J'ai du mal à obtenir la bibliothèque ODP.NET pour travailler avec le .NET DBProviderFactories. Je reçois l'erreur suivante avec ce code:

  <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>


1 commentaires

le même problème et résoudre Stackoverflow.com/Questtions/4225908/...


4 Réponses :


8
votes

Si vous avez installé ODP.NET (par exemple, à l'aide de l'installateur universel Oracle, par opposition à XCopy), vous trouverez la même machine DBProviderFactories / Ajouter une machine.config.

Alors l'ajoutez-le dans votre web.Config l'ajoute une seconde fois - donc, dupliquer oracle.dataaccess.Client!


3 commentaires

Ce problème peut également se produire si vous avez installé ODP.net avant d'installer la version de .NET que vous utilisez, dans mon cas .NET4.


@FredrikC: Merci de votre commentaire Y a-t-il une commande de l'enregistrer à nouveau


@Dhavalpatel Je réinstallerais ODP.NET mais vous pouvez suivre les instructions de Community.oracle.com / thread / 2127248? TSTART = 15 et cela devrait fonctionner. Je ne l'ai pas essayé moi-même!



6
votes

Pouvez-vous faire ci-dessous? (Notez le "CLEAR")

  <system.data>
    <DbProviderFactories>

      <clear />

      <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>


0 commentaires

2
votes

Il convient de noter que effacera tous les dbproviderFactories que vous ne voudrez peut-être pas faire, en fonction de votre situation.

Vous pouvez aussi simplement Supprimer cette classe juste avant de re-ajouter à nouveau en ajoutant cette ligne:

Comment l'ensemble regarderait: xxx

Ceci peut être utile si votre machine locale et votre serveur n'ont pas la configuration correspondante Les fichiers tels que la machine.config.

L'autre chose que vous pourriez faire est de le supprimer de votre web.config en supposant que le réglage de votre machine.Config fonctionnera. Cependant, je vais tester cela sur votre machine de développement et vos serveurs. Dans mon cas, cela a fonctionné sur un mais pas l'autre parce que les fichiers machine.config ne correspondaient pas. Pour résoudre, j'ai ajouté ce même réglage sur la machine.config sur le serveur sans le Comme: xxx < / pré>


0 commentaires

1
votes

La section de la machine de configuration de la machine a probablement été bloquée. Vérifiez s'il y a une ligne supplémentaire oracle.dataaccess.Client, qui reste encore après la désinstallation du client Oracle.


0 commentaires