Link to home
Start Free TrialLog in
Avatar of Timothy Shields
Timothy ShieldsFlag for United States of America

asked on

Alter user password with FORMS_DDL in Forms6i

Ca anybody tell me why the following statement does not work.

FORMS_DDL(' ALTER USER '||:Block.Username||' identified by '||:block.newpassword)

I keep getting a 28001 password expire message.
Avatar of schwertner
schwertner
Flag of Antarctica image

Seem the user you use has not CREATE USER privelege.
To issue this DDL you have to be connected under SYS schema.
If this is not the case the user you use with this Form
should be granted some rights from the SYS user.
I just show in OEm for 10g.
This is the under " Modify System Privileges "
and the privelege is
"CREATE USER"

SQL>connect sys/passw@alias as sysdba
SQL>grant create user to your_user;
the statement is o.k. and should work.

the problem in your case is that the password of the user had expired.  you can only change the password with ALTER USER ... if you're connected to the database with a valid (not expired) password.

> the statement is o.k. and should work.
... assuming that the user has priveleges as schwertner described ...
Avatar of Timothy Shields

ASKER

Thanks for the reply.
The user  is me and I have dba rights. I expired the password on purpose to test the statement -> FORMS_DDL(' ALTER USER '||:Block.Username||' identified by '||:block.newpassword)!.
What you are telling me is that I should is
1) creat a logon statement  as sys
2) do the alter statment?
3) logon statment with the expired user.

By the is to be done in a login screen I created.

ASKER CERTIFIED SOLUTION
Avatar of schwertner
schwertner
Flag of Antarctica image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial