OCI_INVALID_HANDLE error when changing expired password

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
techboss

OCI_INVALID_HANDLE error when changing expired password

Post by techboss » Sun 03 Apr 2005 05:03

Is there a trick to updating an expired password? I catch the error easily enough (28001) and prompt for a new password, but when I call OraSession.ChangePassword it throws the OCI_INVALID_HANDLE error and doesn't update the password.

My research showed (from the bug fix history) that there was a bug a while back that was supposed to have been fixed, but I seem to be hitting it again:

- Bug with TOraSession.ChangePassword when the user password is expired fixed (3442)

Paul
Posts: 725
Joined: Thu 28 Oct 2004 14:06

Post by Paul » Tue 05 Apr 2005 09:53

We cannot reproduce your problem. Please specify product name and product version that you use. Send us please small demo project to demonstrate the problem and include script to create server objects.

techboss

So there is a trick...

Post by techboss » Sat 09 Apr 2005 04:48

Thanks for confirming that it works. After dinking around with it for a while longer I found my problem.

I was trying to change the password from the OraSessionError handler directly. Once I figured out that I had to catch the expired password error after the call to Connect, everything worked fine.

Along the way, I tried to use the built in login dialog (ConnectPrompt) and the ConnectDialog component, but couldn't control the flow well enough. I finally decided to write my own login dialog and process.

Yuvich

Post by Yuvich » Mon 11 Apr 2005 10:43

techboss

Do you have made as http://crlab.com/forums/viewtopic.php?t=486 ?

Post Reply