ORA-24437: OCIStmtExecute called before OCIStmtPrepare2.
Cause : An attempt was made to execute a statement without first preparing it using OCIStmtPrepare2.
Action - How to fix it : DBA Scripts :: www.high-oracle.com/scripts
Call OCIStmtPrepare2 before OCIStmtExecute.
Well, the reason for above error is that i have taken the above script from a 11g database and running it on 10g database. 11g has bring some changes in password management. Below code is executed on 11g and user created successfully, which is expected result.