File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Need help from Oracle Gurus

 
Frank Lin
Ranch Hand
Posts: 76
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I posted this message on JDBC forum as well, not sure which forum Oracle Gurus visit more often.
Problem was found when a CMP entity bean deployed in Weblogic 5.1 with Oracle 8i as backend database, using connection pooling and Oracle thin driver. The finder method did not work while create()/remove() worked fine. The same bean was deployed with SYBASE ASE 12 before and it worked perfectly. Further research showed that the problem is rooting from the setString() method in prepareStatement. Here is the snippet in a test program.
The following code works fine where user_id is defined as int in the table.
String QueryStr = "select * from Users where user_id = ?";
stmt = con.prepareStatement(QueryStr);
stmt.setInt(1, 9999);
rs = stmt.executeQuery();
While the following does not return anything in the ResultSet, where user_name is defined as a varchar in the table
String QueryStr = "select * from Users where user_name = ?";

con = db.getConnection();
rs = stmt.executeQuery(QueryStr);
stmt.setString(1, "lin");
rs = stmt.executeQuery();
If I don't use the setString method, instead use

String QueryStr = "select * from Users where user_name = 'lin'";
It works fine too.
I believe that this has something to do with the setting on Oracle side, maybe with the character set setting. Can someone tell me how to fix it?
Thanks.
 
Frank Lin
Ranch Hand
Posts: 76
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Problem went away after changing the column default to NOT NULL. Mystery stays why this could happen.
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic