Système.Données.OracleClient nécessite la version 8.1.7 du logiciel client Oracle

j'ai un site Web que j'ai développé sur Vista en utilisant Vb.net9. Ça fait un lien avec Oracle. pour la connexion je utiliser le Système.Données.OracleClient. Il fonctionne très bien sur ma machine, et notre serveur de test, mais il ne fonctionne pas sur le serveur de production. Nous avons installé le Client Oracle 11 sur le serveur. L'erreur est une erreur de Système.Données.OracleClient nécessite le logiciel client Oracle version 8.1.7

nous avons essayé, faire une application de console qui ouvre la connexion, la connexion fonctionne fine, s'ouvre, affiche un message et tout est bien là.

ensuite, nous faisons un formulaire web simple, le mettre dans le répertoire du programme, juste un bouton, ouvre la connexion, essayer..erreur de capture, même erreur.

l'application console fonctionnait sous un administrateur, site Web fonctionnant sous iwam. Est-il possible que l'iwam ait un chemin différent?

41
demandé sur MPelletier 2009-01-15 21:54:50

7 réponses

j'ai rencontré cette erreur des douzaines de fois:

Cause

Les permissions de sécurité

n'étaient pas correctement définies lorsque le client Oracle a été installé sur Windows avec NTFS. Le résultat est que le contenu du répertoire ORACLE_HOME n'est pas visible par les utilisateurs authentifiés sur la machine; cela provoque une erreur pendant que le système.Données.OracleClient communique avec le logiciel de connectivité Oracle à partir de ASP.NET en utilisant des privilèges D'utilisateur authentifiés.

Solution

pour corriger le problème, vous devez donner le privilège de groupe D'utilisateurs authentifiés au répertoire Oracle Home.

  • Se connecter à Windows en tant qu'utilisateur avec les privilèges D'administrateur.
  • démarrez L'Explorateur de fenêtres et naviguez vers le dossier ORACLE_HOME.
  • choisir propriétés sur le dossier ORACLE_HOME.
  • , Cliquez sur l'onglet "Sécurité" de la fenêtre de Propriétés.
  • cliquez sur" Utilisateurs authentifiés "dans la liste des" noms".
  • décochez la case" Lire et exécuter "dans la liste" Autorisations "sous la colonne" Autoriser".
  • re-cochez la case" Lire et exécuter "sous la colonne" Autoriser".
  • , Cliquez sur le bouton "Avancé" et dans les "Entrées d'Autorisation" vérifiez que les" utilisateurs authentifiés "sont listés avec permission = "Read & Execute", et S'appliquent à = "ce dossier, sous-dossiers et fichiers". Sinon, modifiez cette ligne et assurez-vous que "s'Applique À" zone de liste déroulante est réglé sur "Ce dossier, sous-dossiers et fichiers". Cela devrait déjà être réglé correctement, mais il est important que vous le vérifier.
  • cliquez sur le bouton" Ok " jusqu'à ce que vous fermiez toutes les fenêtres de propriétés de sécurité. Le curseur peut présenter le verre de l'heure pendant quelques secondes car il applique les autorisations que vous venez de modifier à tous les sous-dossiers et fichiers.
  • redémarrage, pour s'assurer que les changements ont pris effet.

réessayez votre application.

55
répondu wweicker 2009-09-29 16:27:44

l'auteur de ce post (maintenant supprimé post) suggère de vérifier votre dossier C:\Windows\System32 pour s'assurer que le oci.dll existe là. Copier dans le fichier depuis le répertoire D'Oracle a résolu ce problème pour moi.

4
répondu John Palmbach 2014-03-31 09:55:37

mise à jour 1: il est possible pour différents utilisateurs d'avoir un chemin différent. Mais ce n'est pas le problème probable ici. Il y a plus de chances que l'utilisateur que l'utilisateur iwam n'a pas la permission de consulter le répertoire client oracle.

mise à Jour 0: Son suppose de travailler. Vérifiez la variable d'environnement (qui est nécessaire pour trouver le client oracle et les noms de domaine.ora). Aussi, Peut-être que vous avez un 32/64 bits questions. Aussi, pensez à utiliser le fournisseur de données Oracle pour .NET ( recherche odp.net)

2
répondu Igal Serban 2009-01-16 05:57:35

Oracle Client version 11 ne peut pas se connecter aux bases de données 8i. Vous aurez besoin d'un client dans la version 10 tout au plus.

1
répondu Mac 2009-05-15 12:02:32

lorsque nous avons déménagé pour la première fois à Vista avec Oracle 10g, nous avons éprouvé ce problème lorsque nous avons installé le client Oracle sur nos boîtes Vista, même lorsque nous exécutions avec des privilèges d'administration pendant l'installation.

Oracle a sorti une nouvelle version du client 10g (10.2.0.3) qui était compatible Vista.

je crois que c'était après la sortie de 11g, donc il est possible qu'il y ait une version Vista compatible pour 11g aussi.

0
répondu Carl 2009-01-28 16:56:14

pourquoi ne pas utiliser ceci: dotConnect pour Oracle (anciennement connu sous le nom de OraDirect. net)?

il peut être configuré pour ne pas avoir besoin du tout D'un Client Oracle.

nous l'avons utilisé dans les Services Windows et ASP.NET services Web et il fonctionne comme un charme.

0
répondu Jeroen Wiert Pluimers 2009-05-11 23:23:39

pour moi, le problème était un certain plugin dans mon studio visuel a commencé à forcer mon application en mode x64 64bit, de sorte que le pilote Oracle n'a pas été trouvé que J'avais Oracle 32bit installé.

donc si vous avez ce problème, essayez D'exécuter Visual Studio dans safemode (devenv /safemode). J'ai pu trouver qu'il cherchait dans SYSWOW64 le ci.dll fichier en utilisant L'application ProcMon par SysInternals / Microsoft.

mise à jour: pour moi, c'était le Telerik JustTrace produit qui causait le problème, il était probablement accroché et affectant la version runtime en quelque sorte de faire le traçage.

Update2: il ne S'agit pas simplement de créer un problème, JustMock provoque le même problème de mode de processeur. Cependant, JustMock est plus facile à corriger: cliquez sur JustMock-> pour désactiver le profileur, puis le pilote oracle de mon application web s'exécute en mode CPU correct. Cela pourrait être corrigé par Telerik à l'avenir.

0
répondu David d C e Freitas 2013-10-18 02:04:50