OraOLEDB.Oracle fournisseur n'est pas enregistré sur la machine locale

je viens de migrer de XP à Win 7. Je suppose que cette erreur est liée à la commutation des systèmes d'exploitation. J'ai écrit une application .net qui masse essentiellement une grande quantité de données et se connecte ensuite à une base de données et insère/met à jour une table.

lorsque j'appuie sur un bouton pour me connecter à la base de données, je tombe sur une erreur concernant le fournisseur oracle qui n'est pas enregistré sur ma machine locale.

un aperçu clair, étape par étape de la façon dont je peux réparer cela rapidement serait beaucoup apprécier.

Le message d'erreur exact est:

'OraOLEDB.Oracle.1' fournisseur n'est pas enregistré sur la machine locale

24
demandé sur Day 2012-10-16 00:21:16

11 réponses

j'ai eu le même problème après avoir installé le client Oracle 64 bits sur Windows 7 64 bit. La solution qui a fonctionné pour moi:

  1. Ouvrez une invite de commande en mode administrateur
  2. cd \oracle\product.2.0\client_64\BIN
  3. c:\Windows\system32\regsvr32.exe OraOLEDB11.dll
37
répondu Der Wolf 2017-02-15 12:14:24

faire le test suivant:

ouvrez une invite de commande et tapez: tnsping instance_name

où instance_name est le nom de l'instance que vous voulez connecter (si c'est une base de données XE, utilisez "tnsping xe"

si elle retourne ok, suivez les étapes de la réponse de Der Wolf. Si elle ne retourne pas ok, suivez les étapes de la réponse D'Annjawn.

C'est résolu pour moi dans les deux cas.

5
répondu julison 2012-12-14 18:31:29

j'ai eu le même problème à l'aide de IIS.

assurez-vous que l'option 'Enable 32bit Applications' est définie à true sur la Configuration avancée du Pool D'applications.

5
répondu Vagner Gon 2016-03-07 13:19:30
  1. clic droit sur mon ordinateur
  2. Cliquez sur propriétés
  3. cliquez sur Paramètres Système avancés
  4. Cliquez sur "Variables d'Environnement".
  5. dans la section Variable système trouver la variable "PATH"
  6. éditez la variable "PATH" et ajoutez le chemin D'installation D'Oracle (à partir de votre machine locale) comme ;C:\oracle\product.2.0\client_1\bin
3
répondu Annjawn 2012-10-15 20:56:33

Si vous avez windows 64 bits, essayez d'installer le pilote oracle 32 bits d'abord, puis 64 bits pilote, c'est ce que je fais et travaille

2
répondu Diogenes Chepe Ardines Salazar 2014-08-29 17:46:09

cela n'a fonctionné pour moi qu'après que j'ai changé la 'cible Plate-Forme' En 'x64' (considérant que J'utilise Oracle 12c 64 bits)

Pour ce faire, j'ai fait:

  1. clic droit sur le nom du projet (au panneau Solution Explorer localisez, en général, à gauche)

  2. cliqué sur' Build ' (dans la nouvelle fenêtre ouverte)

  3. a changé la 'cible plate-forme' de' N'importe quel CPU 'en' x64'

qui est résolu problème.

1
répondu Daniel Bonetti 2015-01-15 14:46:15

si vous obtenez ceci dans un c# projet, vérifiez si vous êtes en mode 64-bit ou 32-bit avec le code suivant:

        if (IntPtr.Size == 4)
        {
            Console.WriteLine("This is 32-Bit!");
        }
        else if (IntPtr.Size == 8)
        {
            Console.WriteLine("This is 64 Bit!");
        }

si vous trouvez que vous êtes en mode 64 bits, vous pouvez essayer de passer à 32 bits (ou vice versa). Vous pouvez suivez ce guide pour forcer votre application à exécuter 64 ou 32 bits (x64 et X86 respectivement). Vous devez assurez-vous que Platform Target dans votre projet, les propriétés ne sont pas définies à Any CPU et que c'est un ensemble explicite.

enter image description here

commutation de cette option de Any CPUX86 résolu mon erreur et j'ai pu me connecter au fournisseur Oracle.

1
répondu John August 2016-07-11 14:40:41

après avoir passé des heures à corriger cela; et pour certains qui l'ont installé incorrectement, vous devez désinstaller la version actuelle et la réinstaller à nouveau en tant qu'administrateurenter image description here

1
répondu Bashar Abu Shamaa 2016-11-21 11:59:52

en M'appuyant sur Der Wolfs tip, j'ai désinstallé le client Oracle et je l'ai installé de nouveau, en cliquant avec le bouton droit de la souris sur le programme de configuration, et exécuter en tant que Administrateur. Il a travaillé.

0
répondu Nuno G 2013-04-17 14:08:28

mon équipe tombait sur cette question de temps en temps dans des machines aléatoires dans lesquelles nous essayions d'installer notre plate-forme (nous utilisons les pilotes oracle 12c ver 12.2.0.4 mais nous avons rencontré ce bogue avec d'autres versions)

Après un peu d'expérimentation, nous avons réalisé ce qui était faux:

lesdites machines auraient des applications qui utilisent les pilotes oracle à l'échelle de la machine en les verrouillant silencieusement et en empêchant le pilote-installateur d'oracle de faire son travail magique quand tenterait de mettre à jour/réinstaller les pilotes oracle. Le plus sournois " app " serait les sites Web courant dans IIS et les semblables parce que ces applications essentiellement auto-Démarrer sur le redémarrage. Pour contrer cela, nous faisons ce qui suit:

  1. désactiver IIS à partir du démarrage automatique lors du redémarrage. Faites la même chose pour toutes les autres applications/services qui se redémarrent automatiquement.
  2. désinstaller tout pilote Oracle précédent et vérifier qu'il n'y a pas de traces laissées dans le registre ou dossier.
  3. redémarrez la machine
  4. (Ré)Installer les pilotes Oracle et re-activer IIS et d'autres de démarrage automatique des applications.
  5. redémarrez la machine < - c'est vital. Les pilotes OLE DB d'Oracle ne fonctionneront pas si vous ne redémarrez pas la machine.

si cela ne fonctionne pas alors rincer répéter jusqu'à ce que les pilotes OLE DB fonctionnent. J'espère que ça aidera quelqu'un qui se bat pour comprendre ce qui se passe.

0
répondu xDisruptor 2017-10-02 10:08:09

j'avais le même problème mais ma solution était de garder la cible de la plate-forme comme N'importe quel CPU et UNCHECK préfèrent la case à cocher 32 bits. Après j'ai décoché j'ai été en mesure d'ouvrir une connexion avec le fournisseur.

Turn Prefer 32-bit off

0
répondu Kris Westermann 2018-09-14 19:47:14