dtumbov
Member²
Hi there,
I'm getting ORA-00922 by changing the password when the Oracle username contains a dot,for example "a.miller". If the username doesn't contain a dot, then the password can be changed successfully.
Another analyse has showed, that this problem was not present in Oracle 9iR2, but only in 10gR2.
I've switched on tracing, and here is the extraction of the trace file:
=====================
PARSE ERROR #1:len=40 dep=0 uid=116 oct=43 lid=116 tim=6192651395 err=922
alter user d.tumbov ident ...
WAIT #1: nam='SQL*Net break/reset to client' ela= 5 driver id=1413697536 break?=1 p3=0 obj#=46531 tim=6192653246
WAIT #1: nam='SQL*Net break/reset to client' ela= 401 driver id=1413697536 break?=0 p3=0 obj#=46531 tim=6192653685
WAIT #1: nam='SQL*Net message to client' ela= 2 driver id=1413697536 #bytes=1 p3=0 obj#=46531 tim=6192653718
*** 2008-07-22 15:26:51.707
WAIT #1: nam='SQL*Net message from client' ela= 267206468 driver id=1413697536 #bytes=1 p3=0 obj#=46531 tim=6459860237
=====================
I strongly assume that the problem is, that there are no quotation marks around the username in "alter user d.tumbov ident ...". I've tried to change the DOA source code in Oracle.pas, the procedure SetPassword:
from "DoSQL('alter user ' + FUsername + ' identified by ' + NewPassword, True)" to "DoSQL('alter user "' + uppercase(FUsername) + '" identified by ' + NewPassword, True)"
but the "alter user" command in the trace file hasn't changed.
I'm on the 10g database (10.2.0.3 and 10.2.0.4), DOA 3.4.3 & Delphi 5.
Any suggestions?
Regards,
Dimce
I'm getting ORA-00922 by changing the password when the Oracle username contains a dot,for example "a.miller". If the username doesn't contain a dot, then the password can be changed successfully.
Another analyse has showed, that this problem was not present in Oracle 9iR2, but only in 10gR2.
I've switched on tracing, and here is the extraction of the trace file:
=====================
PARSE ERROR #1:len=40 dep=0 uid=116 oct=43 lid=116 tim=6192651395 err=922
alter user d.tumbov ident ...
WAIT #1: nam='SQL*Net break/reset to client' ela= 5 driver id=1413697536 break?=1 p3=0 obj#=46531 tim=6192653246
WAIT #1: nam='SQL*Net break/reset to client' ela= 401 driver id=1413697536 break?=0 p3=0 obj#=46531 tim=6192653685
WAIT #1: nam='SQL*Net message to client' ela= 2 driver id=1413697536 #bytes=1 p3=0 obj#=46531 tim=6192653718
*** 2008-07-22 15:26:51.707
WAIT #1: nam='SQL*Net message from client' ela= 267206468 driver id=1413697536 #bytes=1 p3=0 obj#=46531 tim=6459860237
=====================
I strongly assume that the problem is, that there are no quotation marks around the username in "alter user d.tumbov ident ...". I've tried to change the DOA source code in Oracle.pas, the procedure SetPassword:
from "DoSQL('alter user ' + FUsername + ' identified by ' + NewPassword, True)" to "DoSQL('alter user "' + uppercase(FUsername) + '" identified by ' + NewPassword, True)"
but the "alter user" command in the trace file hasn't changed.
I'm on the 10g database (10.2.0.3 and 10.2.0.4), DOA 3.4.3 & Delphi 5.
Any suggestions?
Regards,
Dimce