| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.misc -> java & results sets
Hi,
I have the following code, to validate a user
that calls an oracle server side proc.
the driver is oracle 8.1.5 thin, the database is 8i 8.1.5.
the program compiles and runs, but the damned result set(myValues[0]) is returning a string of values as follows "0x4152333930544B504C4E","0x74657374","0x31323334","0x73686974"
which is actually the HEX representation of the strings
ie
0x31323334 =1234
the data contained is correct , but it is a hex string!! of the values i
want.
how can I correct the code or is it a bug
public static String[] Validate_user(String User,String Password){
String Magic_key="";
String [] Ret_results=new String[]{"-1","","",""};
ResultSet rset =null;
ARRAY array1;
Connection conn;
OracleCallableStatement cstmt=null;
// Create a statement
// Execute the statement and query
try
{
String The_qry="{ ? = call oracle.external_user.valid_usr("+
"'"+User.trim()+ "','"+Password.trim()+ "','"+String.valueOf(SerialversionUID).trim()+ "')}";
cstmt=(OracleCallableStatement)SQL_functions.dbconn.prepareCall(The_qry) ;
cstmt.registerOutParameter(1,OracleTypes.ARRAY,"ORACLE.RETURN_VARCHAR2_0 4");
cstmt.execute();
// Get the return value and covert it into a JDBC ResultSet
array1 =
(ARRAY)((OracleCallableStatement)cstmt).getOracleObject(1);
rset=array1.getResultSet();
// Loop through ResultSet rows
while(rset.next()){
// Get the object that is in the address_list ( SQL TYPE
"ADDRESS" )
// 1st column is the row index
// 2nd column is the actual object
oracle.sql.STRUCT obj= (oracle.sql.STRUCT)rset.getObject(2);
// Get the column attributes for the object
Object myValues[] = (Object[])obj.getAttributes();
// Object myValues=obj.getAttributes();
// get each of the object columnsRet_results[0]=(String)myValues[0]; Ret_results[1]=(String)myValues[1]; Ret_results[2]=(String)myValues[2]; Ret_results[3]=(String)myValues[3];
System.out.println(Ret_results[0]+","+Ret_results[1]+","+Ret_results[2]+
","+Ret_results[3]);
// the above returns
//0x4152333930544B504C4E,0x74657374,0x31323334,0x73686974 to the system
screen.
}
}
catch (Exception e)
{
Error_funcs.handleError(e);
}
return Ret_results;
}
Received on Tue Nov 27 2001 - 15:15:45 CST
![]() |
![]() |