Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Problem calling stored procedure from Java
Hi,
I'm trying to call a simple Oracle stored procedure (which I created and which uses the DBMS_OBFUSCATION_TOOLKIT) from my Java code, but am having problems.
Here's my stored procedure:
CREATE or REPLACE PROCEDURE encrypt_password (key_string varchar2, uname varchar2, password varchar2) IS
input_string VARCHAR2(16) := to_char(password); encrypted_string VARCHAR2(2048);
BEGIN
dbms_obfuscation_toolkit.DESEncrypt( input_string => input_string, key_string => key_string, encrypted_string => encrypted_string); UPDATE XXDB set secure_pwd = encrypted_string WHERE username = uname;END; The Java code looks like:
public static void doEncryption(String enKey, String uName, String pwd) throws SQLException {
Connection conn = null; CallableStatement proc = null; tryoracle.jdbc.driver.OracleDriver());
{
// Load the Oracle JDBC driver DriverManager.registerDriver(new
System.out.println("In Provider/initialize: About to open connection to Oracle DB...");
// Open the connection conn = DriverManager.getConnection ("jdbc20:oracle:thin:@jimnew:1521:XX","XX_OWNER", "XXXXXX"); System.out.println("In Provider/initialize: Finished opening connection to Oracle DB..."); proc = conn.prepareCall("{ call encrypt_password(?, ?, ?) }"); proc.setString(1, enKey); proc.setString(2, uName); proc.setString(3, pwd); System.out.println("In Provider/initialize: Finished setting parameters - about to execute procedure"); proc.execute(); System.out.println("In Provider/initialize: Just returned from proc.execute()"); } finally
{
try { proc.close(); } catch (SQLException e) {} conn.close(); }
The output I'm getting is as follows:
.
.
In Provider/initialize: About to open connection to Oracle DB... In Provider/initialize: Finished opening connection to Oracle DB... In Provider/initialize: Finished setting parameters - about to executeprocedure
There is no other output after that last line, i.e., it seems to have done the "proc.execute()" but never returned. I don't see the last println ("Just returned from proc.execute()"), and I don't get any errors!
Can anyone tell me what the problem might be? Or, how I might try to diagnose why it's not returning from the "proc.execute()"?
Thanks,
Jim
Received on Mon Jun 20 2005 - 22:43:53 CDT
![]() |
![]() |