Résolvez le problème de l'impossibilité d'accéder à la base de données Oracle après l'installation d'ASP.NET. J'ai oublié où j'ai publié cet article.
Après avoir installé ASP.NET et le client Oracle9i, j'ai reçu le message suivant lors de l'utilisation de System.Data.OracleClient pour y accéder. la base de données Oracle.
System.Data.OracleClient nécessite la version du logiciel client Oracle 8.1.7 ou supérieure.
La raison en est que
les paramètres d'authentification de sécurité du client Oracle 9i Release 2 lorsqu'il est installé sur la partition NTFS de Windows sont incorrects, ce qui entraîne l'authentification locale. L'utilisateur ne peut pas voir le contenu du répertoire ORACLE_HOME ; cela entraîne le signalement de l'erreur ci-dessus lorsqu'ASP.NET utilise System.Data.OracleClient pour se connecter à la base de données Oracle avec les autorisations des utilisateurs authentifiés.
Solution
Pour résoudre le problème ci-dessus, ajoutez simplement l'autorisation d'accéder au répertoire Oracle Home au groupe Utilisateurs authentifiés
pour
vous connecter à Windows avec les autorisations d'administrateur.
Démarrez le navigateur de ressources Windows et recherchez le répertoire ORACLE_HOME, tel que C:Oracleora92
Cliquez avec le bouton droit sur le menu contextuel et sélectionnez Partage et sécurité du répertoire (cliquez sur Propriétés sous Win2000)
Cliquez sur l'onglet "Sécurité" et cliquez sur l'élément "Utilisateurs authentifiés" dans la liste des noms de groupe et d'utilisateur.
Dans la liste des autorisations de l'utilisateur, décochez la case "Lire et exécuter" et cliquez à nouveau sur la case "Lire et exécuter" pour la cocher. Cliquez sur le bouton "Avancé" et sélectionnez l'élément d'autorisation Déterminer si "Utilisateurs authentifiés" a. Autorisations « Lire et exécuter » qui s'appliquent à « Ce dossier, sous-dossiers et fichiers ». Si ce n'est pas le cas, double-cliquez dessus et assurez-vous que les autorisations « Appliquer à » « Ce dossier » et aux sous-dossiers et fichiers ». Cet élément est très important et vous devez le vérifier.
Cliquez sur le bouton "OK" pour redémarrer pour que toutes les modifications prennent effet
============================
.== =============
Le fournisseur « OraOLEDB.Oracle.1 » n'est pas enregistré sur la machine locale. Il existe trois raisons possibles à cette situation :
1. La machine sur laquelle Oracle est installé est-elle sur NTFS ? Si tel est le cas, accordez toutes les autorisations de BIN sous Ora81 à tous les utilisateurs.
(Sinon, sous la structure B/S, cette erreur sera signalée car il n'y a aucune autorisation pour accéder au répertoire)
2. Si le serveur de base de données est Oracle816. Recherchez le fichier sqlnet.ora sous Ora81networkADMIN sur la machine serveur et modifiez le
SQLNET.AUTHENTICATION_SERVICES= (NTS) remplacé par
SQLNET.AUTHENTICATION_SERVICES= (AUCUN)
(Certaines machines signaleront des erreurs d'échec d'initialisation du pilote, qui se sont produites une fois lors de l'utilisation d'OracleClient)
3. Si aucune des solutions ci-dessus ne résout le problème. Vous pouvez déterminer si l'inscription au registre est réellement perdue. (La possibilité est relativement faible, les fenêtres sont encore relativement sûres)
regsvr32 ..ORACLE_HOMEbinOraOLEDB.dll
Si cela ne fonctionne toujours pas, vous pouvez essayer de réinstaller le client.