Oracle.ManagedDataAccess et ORA-01017: invalid username/mot de passe; connexion refusée
J'ai une situation difficile sur un de nos serveurs. J'ai un ASP.NET MVC 3 application doit se connecter à une base de données Oracle 12c base de données. Il le fait en utilisant la chaîne de connexion suivante:
User ID=myuserid;Password=mypass;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=<IP ADDRESS>)(PORT = 1521)))(CONNECT_DATA=(SERVICE_NAME=PDB1)));
Je suis aussi à l'aide d'Oracle.ManagedDataAccess, version 4.121.1.0. Chaque tentative de connexion résultats dans l'erreur suivante:
ORA-01017: invalid username/password; logon denied
Je peux me connecter avec succès sur mon bureau avec les informations d'identification ci-dessus. J'ai le même code sur un autre serveur, mais en utilisant une ancienne, géré par les nations unies de la version de la bibliothèque, et il peut se connecter avec succès avec lesdites informations d'identification. Toutefois, le serveur sur lequel je voudrais mon code à exécuter échoue à chaque fois en utilisant les mêmes informations d'identification qui permettent des connexions réussies sur des serveurs différents.
Sur le serveur échoue, je peux:
- connecter via SQLPLUS
- frapper la base de données avec TNSPING
- Créer un DSN Système pour établir une connexion ODBC
J'ai vérifié le TNSNAMES.ORA dans tous les endroits, et ils semblent être correct.
Après avoir atteint la base de données de trop nombreuses fois, le compte est effectivement verrouillé indiquant que j'ai été, en effet, frapper la base de données et la base de données n'aime pas les pouvoirs présentés. J'ai vérifié les applications que précédemment connecté avec succès et ils ont également échoué, un message d'erreur indiquant que le compte a été verrouillé. Déverrouillage du compte provoqué ces applications de se connecter avec succès à l'exception du serveur avec qui je vais avoir des problèmes.
Je suis à l'extrémité de l'esprit.
Quelqu'un a d'autres suggestions quant à ce qui pourrait causer ce problème?
MODIFIER:
J'ai installé WireShark sur mon ordinateur local et sur le serveur affecté. J'ai capturé la communication entre mon bureau et la base de données ainsi que de la délinquance de serveur et de la base de données. J'ai trouvé que mon bureau a communiqué le mot de passe:
0080 35 42 31 41 43 34 30 00 01 01 01 0d 0d 41 55 54 5B1AC40......AUT
0090 48 5f 50 41 53 53 57 4f 52 44 01 40 40 43 30 36 H_PASSWORD.@@C06
00a0 37 39 42 31 31 42 46 36 42 41 43 44 39 30 38 44 79B11BF6BACD908D
00b0 37 39 34 34 31 31 46 34 32 33 30 42 34 36 44 36 794411F4230B46D6
00c0 35 36 36 33 31 42 45 39 39 41 36 43 36 37 42 44 56631BE99A6C67BD
00d0 43 33 35 42 42 44 36 44 42 45 37 34 36 00 01 0d C35BBD6DBE746...
alors que le serveur avec qui je vais avoir des problèmes, n'ont pas (ou du moins c'est l'hypothèse):
0080 39 33 39 37 32 33 46 00 01 01 01 0d 0d 41 55 54 939723F......AUT
0090 48 5f 50 41 53 53 57 4f 52 44 01 40 40 00 00 00 H_PASSWORD.@@...
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0d ................
Personne ne sait de sécurité/paramètre de configuration qui permettrait d'éviter les mots de passe de l'être transmis, même s'ils sont présents dans la chaîne de connexion?
Modifier (20180713):
Dans mon cas particulier, le problème était le paramètre FIPS.
Pour ceux qui font de la recherche, il existe plusieurs façons de contourner cela.
-
Vous pouvez modifier le paramètre de registre situé dans HKLM\System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy\Activé. Si FIPS est activé, la valeur est de 1. Si désactivé, la valeur est 0. Vous n'avez pas besoin de redémarrer.
-
Très probablement, la raison pourquoi vous êtes en cours d'exécution dans ce problème, c'est que le mode FIPS est activé et que vous utilisez l'Oracle géré bibliothèque d'accès aux données. Une solide solution de contournement consiste à utiliser le non géré la bibliothèque. Toutefois, pour utiliser cette bibliothèque, vous devez installer le Client Oracle Instant. Le client est disponible pour téléchargement dans la Oracle Data Access Components.
-
Mise à niveau de votre serveur Oracle 12.2 c. Oracle 12c versions avant 12.2 c toujours avoir ce problème.
Si vous n'avez pas FIPS est activé, le plus probablement, vous devez vérifier si votre base de données a le SEC_CASE_SENSITIVE_LOGON paramètre à true. Vous aurez besoin pour exécuter l'instruction ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE; puis réinitialiser tous vos mots de passe.
Tous sont la norme, les caractères alpha (d,g,c,m,n,e). Tous sont en minuscule. Pas de chiffres. Je crois que vous pourriez être en se référant à certains des problèmes de connexion à oracle, où le nom d'utilisateur et/ou mot de passe ont des caractères spéciaux comme d'un " e " avec un signe diacritique. À ce stade, d'avoir quelque chose de simple comme ce serait un dieu-envoyer. 🙂
En fait, je pensais plus à iabout des symboles, tels que
:
ou ?
. Si votre nom d'utilisateur et le mot de passe ne contient que des lettres minuscules, tout ce que je peux faire est de vous souhaiter bonne chance. Désolé!Tir dans le noir: l'oracle patché à la même version sur le serveur Oracle et sur la machine en essayant de se connecter? Sont-ils à la fois en utilisant le même 32 bits ou 64 bits version Oracle?
Je vais vérifier dans vos questions, StarPilot. La version d'Oracle.ManagedDataAccess que j'utilise est la version 64 bits 12.1.0.1.2 Release 2. La base de données Oracle 12c. Toutefois, le serveur est en 64 bits et sur le serveur, mon DBA a installé Oracle Forms et Reports de 11g. L'ODAC pour 11g a été installé sur le serveur en tant que bien, mais il semblait que ce n'était pas installé correctement, car il n'était pas répertorié dans la liste des composants installés et j'ai dû supprimer les fichiers et les entrées de registre manuellement. Ne sais pas si les Formes & Rapports est de 32 bits et en supposant que la 12C est de 64 bits.
OriginalL'auteur DerHaifisch | 2014-10-16
Vous devez vous connecter pour publier un commentaire.
J'ai été aux prises avec cette même question pour un couple de semaines et enfin avoir une résolution. J'ai dû désactiver la FIPS la politique de sécurité, essayez de définir cette clé:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy]
"Enabled"=dword:00000000
à zéro, il a fonctionné parfaitement pour moi
J'ai été à la suite de votre fil de votre mot de passe vide question a finalement fait moi ici:
https://community.oracle.com/thread/2557592?start=30&tstart=0
A fonctionné parfaitement pour moi. Un million de mercis!!!
Rencontré ce problème et posté ma propre question, ne sachant pas si j'ai été voir la même chose que vous, dba.stackexchange.com/questions/142085/... -- s'avère que j'ai eu le même problème, et c'était la façon dont il a été suggéré-je réparer le mien, trop. Travaillé! Afin de lier cette question à la mienne, au cas où d'autres passent par une autre procédure de dépannage pour arriver à l'endroit où j'étais.
Sauvez-moi! Merci
La vie de veille. PS: Comment diable avez-vous trouvé?
OriginalL'auteur Jeff McConnell
Basé sur Jeff réponse (10/31/2014)...
Le paramètre de registre peut être défini par l'objet de stratégie de groupe pour permettre uniquement à des algorithmes compatibles FIPS. Mettre ce paramètre à 0 comme indiqué peut être une violation de certaines règles de sécurité et d'être écrasés par l'objet de stratégie de groupe. Ce paramètre de registre contrôle plus que simplement IIS ou ASP.NET.
Il y a une autre façon qui est spécifique .NET et peuvent travailler au niveau de l'application. C'est beaucoup plus facile de justifier par rapport à la modification des paramètres de l'ensemble du serveur.
Application de la méthode spécifique:
Dans votre site Web.config ou App.fichier de config, ajoutez le paramètre suivant:
Si je me souviens bien, ce doit être au début de votre fichier de configuration.
Tous .NET de la méthode d'application:
Lieu le paramètre ci-dessus dans la machine.fichier de configuration. Il y en aura une pour chaque .Version NET et de l'architecture (64 bits/32 bits). Il y aura déjà un élément, de façon à placer l'élément à l'intérieur d'elle.
OriginalL'auteur John O'Reilly
J'ai eu le même problème en utilisant Entity Framework et de l'Oracle.ManagedDataAccess.Client, mais j'ai eu quelques succès par uppercasing mon mot de passe dans la configuration de la chaîne de connexion de la section.
OriginalL'auteur ameritrash
Je n'ai pas tout à fait le même scénario que le présent cas n', mais j'ai eu des résultats très similaires. Ce que j'ai fait pour régler le problème a été, je clos le mot de passe dans les citations comme suit (en VB.NET):
cnx.ConnectionString = "User ID=MYID;Password=""MyPass"" ;Data Source=MyTEST"
ou chr(34) comme suit
OriginalL'auteur gouderadrian
J'ai eu exactement le même problème. Quand j'étais de la connexion à la base de données directement à partir de SqlDeveloper, ça marchait très bien. Mais mon application ( construit sur VB6) impossible de se connecter à Oracle et donnant erreur "ORA-01017 non Valide ID/mot de passe.
Après la mise hors tension, la casse de connexion pour mon ID de base de données, il a résolu le problème.
OriginalL'auteur rima ganguly
J'ai eu le même problème! Je n'ai pas essayer de changer la clé de registre, mais je n'ai essayer de changer le web et la machine config. Cela n'a pas fonctionné.
Ce qui ne résoudra pas le problème était en train de changer l'application de la piscine, j'étais en sous!
L'Application de la Piscine a été exécuté sous un compte de service et une fois que je l'ai déplacé à une nouvelle Application de la Piscine avec juste le système par défaut de compte, il a commencé à ramasser les ID d'Utilisateur et le Mot de passe à partir de la config.
OriginalL'auteur Robert Stokes
J'ai essayé avec la commande:
ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;
Mais il ne fonctionne pas.
J'ai dû changer à l'aide de SQL Developer dans le DBA onglet.
Dans le cas où, vous ne savez pas comment l'ouvrir l 'Initialisation des Paramètres:
OriginalL'auteur Giovanny Farto M.