public Connection getConnection() throws SQLException {
javax.sql.DataSource ds = null;
java.sql.Connection con = null;
try { javax.naming.InitialContext ctx = new javax.naming.InitialContext();
ds = (javax.sql.DataSource) ctx.lookup("jdbc/OracleDs");
} catch (NamingException e) {
e.printStackTrace();
}
return ds.getConnection() ;
}
返回一个连接的代码,其他的就一样了。

解决方案 »

  1.   

    查询bean里面的调用
     public CachedRowSet executeQuery(String sql) throws java.sql.SQLException {
        CachedRowSet cst = new CachedRowSet();
        try {
          conn = db.getConnection();
          ps = conn.createStatement();
          ps.setFetchSize(100);
          rs = ps.executeQuery(sql);
          cst.populate(rs);
        }
        catch (SQLException e) {
          throw new SQLException("数据查询出错" + e.getMessage());
        }    finally {
          try {
            db.CleanConnection(conn, ps, rs);
          }
          catch (SQLException e) {
            throw new SQLException("关闭数据库出错" + e.getMessage());
          }
        }
        return cst;
      }
      

  2.   

    编辑j2sdkee1.2.1/config/default.properties 
    增加一下两行 
    jdbc.drivers=oracle.jdbc.driver.OracleDriver 
    jdbc.datasources=jdbc/TestDb|jdbc:oracle:thin:@192.168.0.45:1521:ORA8 
    其中jdbc/TestDb是datasource的名字,竖线后边的是jdbc的rul 在ejb里边引用该数据库的方法是: 
    Context ic = new InitialContext(); 
    DataSource ds = (DataSource)ic.lookup("jdbc/TestDb"); 
    conn = ds.getConnection(dbUser,dbPasswd);