Guest User

Untitled

a guest
Aug 24th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.25 KB | None | 0 0
  1. 2nd time calling PreparedStatement is not working after closing connection
  2. public void getRates(String id) throws Exception, DBException {
  3.  
  4. Connection conn = null;
  5. ResultSet rs = null;
  6.  
  7. try {
  8.  
  9. conn = getConnection();
  10.  
  11. if (ratesQueryStmt == null){
  12. ratesQueryStmt = conn.prepareStatement(ratesQuery);
  13. }
  14. ratesQueryStmt.setString(1, id);
  15.  
  16. ratesQueryStmt.setQueryTimeout(m_nTimeout);
  17.  
  18. rs = ratesQueryStmt.executeQuery();
  19.  
  20. while (rs.next()){
  21. System.out.println("!!!nnDATE = " + rs.getString("RATE_DAY") + " PURCHASE_PRICE = " + rs.getString("PURCHASE_PRICE") + " SELLING_PRICE = " + rs.getString("SELLING_PRICE"));
  22. }
  23.  
  24. }
  25. catch (SQLException e) {
  26. Utility.trace(m_session, "SQL exception - code: "+String.valueOf(e.getErrorCode())+" "+e.getMessage());
  27. throw e;
  28. }
  29. finally {
  30. DBAccess.closeEverything(rs, ratesQueryStmt, conn); //DO NOT WORK BECAUSE OF CLOSING CONNECTION (conn)
  31. }
  32.  
  33. DBAccess.getInstance(mySession).getRates("USD"); //WORKS
  34. DBAccess.getInstance(mySession).getRates("EUR"); // NOT WORKING
  35.  
  36. java.lang.NullPointerException
  37. at oracle.jdbc.dbaccess.DBDataSetImpl._createOrGetDBItem(DBDataSetImpl.java:825)
  38. at oracle.jdbc.dbaccess.DBDataSetImpl.setBytesBindItem(DBDataSetImpl.java:2520)
  39. at oracle.jdbc.driver.OraclePreparedStatement.setItem(OraclePreparedStatement.java:1248)
  40. at oracle.jdbc.driver.OraclePreparedStatement.setString(OraclePreparedStatement.java:1690)
  41. at asteros.DBAccess.getRates(DBAccess.java:141) //ratesQueryStmt.setString(1, id);
  42.  
  43. public Connection getConnection() throws Exception {
  44. Connection conn = null;
  45. try {
  46.  
  47. Utility.trace(m_session, "DB string: "+m_strDBString+" user: "+m_strUser+" password: "+m_strPassword);
  48. System.out.println("DB string: "+m_strDBString+" user: "+m_strUser+" password: "+m_strPassword);
  49.  
  50. Driver dr = new oracle.jdbc.driver.OracleDriver();
  51. DriverManager.registerDriver(dr);
  52. conn = DriverManager.getConnection(m_strDBString, m_strUser, m_strPassword);
  53.  
  54. } catch (Exception e) {
  55. throw new Exception(e);
  56. }
  57.  
  58. return conn;
  59. }
Add Comment
Please, Sign In to add comment