Il y avait d'autres questions similaires posées, mais aucune qui ne pouvait me dire pourquoi je ne peux pas me connecter en utilisant un site Web C # .NET, je me suis levé. Bien que je sache que ce forum est plus destiné aux administrateurs de bases de données se connectant à des bases de données à l'aide d'outils et non pas tant à dépanner des applications se connectant, j'ai pensé que je pourrais essayer de poster la question ici.
Le site Web fonctionne/se connecte à partir de mon poste de travail lorsqu'il est exécuté à partir de Visual Studio, mais lorsque je le publie sur le serveur, il me donne ORA-01017: invalid username/password;logon denied
erreur, même si je peux me connecter via tout le reste avec le même compte/mot de passe. Situation:
tnsping CONNECTION_NAME
réussit.Oracle_HOME
= C:\Oracle\product\12
PATH
= C:\Oracle\product\12\bin;
.....TNS_ADMIN
= C:\Oracle\product\12\network\admin
HKLM\Software\Oracle\KEY_OraClient12Home
pour TNS_ADMIN
= C:\Oracle\product\12\network\admin
ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;
commande et réinitialiser le mot de passe, juste au cas où c'était le problème. J'ai essayé de me connecter avec les versions majuscules de mon compte et de son mot de passe, ainsi qu'avec toutes les versions minuscules des deux (les minuscules des deux sont comme je l'avais à l'origine quand cela fonctionnait sur mon poste de travail).PASSWORD_VERSIONS
de 10G
et 11G
- Je ne sais pas s'il est important que j'utilise un client 12c et 12C
n'est pas là. La principale différence entre le serveur et mon poste de travail est que je n'ai que le client 12c sur le serveur - j'ai 10g, 11g et 12c sur mon poste de travail. J'allais essayer d'utiliser l'assemblage ODP.NET 11g, Oracle.DataAccess.dll
, mais mon code ne se compile pas (j'obtiens "Could not load file or Assembly 'Oracle.DataAccess' or one of its dependencies. An attempt was made to load a program with an incorrect format.".
), même après avoir changé l'espace de noms de using Oracle.ManagedDataAccess.Client
à using Oracle.DataAccess.Client
.À court de choses à essayer ... toute aide/suggestion serait appréciée.
Je n'ai vu cela qu'une seule fois jusqu'à présent, mais il y a un problème décrit dans la note My Oracle Suppport:
L'utilisation de FIPS provoque ORA-01017: nom d'utilisateur/mot de passe non valide avec ODP.NET géré (Doc ID 1937500.1)
Je ne publierai pas le contenu complet de ce document car il n'est pas public, mais voici l'essentiel:
Ce bogue a été corrigé dans le fournisseur géré 12.1.0.2. Veuillez noter que la version DB doit être 12.1.0.2 ou supérieure pour que ce correctif fonctionne comme prévu.
La solution de contournement consiste à définir dans le registre
System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy\Enabled
à0
.
Quelques références publiques à ce sujet:
https://stackoverflow.com/questions/31785650/ora-01005-error-connecting-with-odp-net
J'essayais avec la commande:
ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;
Mais ça n'a pas marché. J'ai dû le changer en utilisant le développeur SQL dans l'onglet DBA.
Dans le cas, vous ne savez pas comment ouvrir les 'Paramètres d'initialisation':