Bonjour,

J'ai une forms personnalisé de connexion à ma BDD
Dans celle ci une procédure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
PROCEDURE CONNEXION(utilisateur IN VARCHAR2,mot_de_passe IN VARCHAR2) IS
	msg	msg_lang.lib_msg%type;
BEGIN
	SET_APPLICATION_PROPERTY(CURSOR_STYLE,'BUSY');
-- si deja connecté (connect_string dans pkgconst.current_cs)
	IF pkgconst.current_cs IS NOT NULL THEN
  	display_msg('Déconnexion...');
  	LOGOUT;
	END IF;
 	display_msg('Connexion...');
-- on se reconnecte avec le nouveau mdp
	LOGON(UPPER(utilisateur),UPPER(mot_de_passe) || '@' ||NVL(pkgconst.current_cs,'PLUTON'),FALSE);
	IF FORM_FAILURE THEN
		CLEAR_MESSAGE;
		SET_APPLICATION_PROPERTY(CURSOR_STYLE,'DEFAULT');
		msgalert(pkgconst.message_pwd,'E',TRUE);
	END IF;
.......
Lorsqu'un MDP contient un '@', le LOGON foire.
je pense que c'est le deuxième paramètre de LOGON qui pose problème
(<pwd>@<connect_string>) qd pwd contient un @
Pourtant, ORACLE accepte bien les MDP contenant un '@{ (testé sous TOAD)

Comment passer à LOGON un mot de passe contenant un '@' ?

D'avance, merci,