Ciao a tutti,

sto creando una applicazione php che tramite gli oci8 si collega ad un db oracle, e fino a qui niente di strano.

L' applicazione serve per fare in modo che gli utenti possano cambiarsi la prorpia password di oracle in completa autonomia.

L' applicazione direi che funziona bene se non fosse che non riesco a capire il perchè non riesco a modificare la password di utenti che hanno un username del tipo 'nome.cognome'.

In parole povere da riga di comando riesco a creare utenti in questo modo:

create user nome identified by passowrd; --> creo utente

grant create session to nome; --> gli permetto di connettersi

Ed il tutto funziona correttamente, posso collegarmi alla mia interfaccia php ed utilizzarla per cambiare la password dell' utente loggato che una volta che ha compilato il form della password ed aver fatto invio esegue (ovviamente inconsapevolmente) un comando come questo:

alter user nome identified by nuova_passwd;

ED IL TUTTO FUNZIONA ALLA PERFEZIONE!! PENSAVO DI AVERE FINITO!! QUANDO SCOPRO CHE GLI UTENTI PRESENTI SUL DB IN PRODUZIONE HANNO UN USERNAME DEL TIPO NOME.COGNOME

Con questi username non solo non riesco a modificare la password ma non riesco neanche a loggarmi nel database!!

Inizialmente ho pensato ad un problema di sintassi infatti per creare utenti con username di questo tipo bisogna fare così:

create user "nome.cognome" identified by passowrd; --> creo utente

grant create session to "nome.cognome"; --> gli permetto di connettersi

Ma da qui in poi nulla funziona più, non riesco ne a connettermi al db e ne a cambiare la password!!

Qualcuno sà dirmi dove sbaglio e se c'è qualche funzione che potrebbe semplificarmi il tutto??

Grazie a tutti per l' aiuto.