weblogic8服务器
封装bean如下
package dev;import java.sql.*;
import javax.naming.*;
import javax.sql.DataSource;
public class DatabaseConn {
public  static  Connection DatabaseConn() throws Exception
{
try
{
            Context initCtx = new javax.naming.InitialContext();            DataSource ds= (DataSource)initCtx.lookup("jdbc/bn"); ;
return ds.getConnection();
}
catch(SQLException e)
{
throw e;
}
catch(NamingException e)
{
      throw e;
} }}在另一个bean里面如何调用ds数据源???以下代码调用不知错在那里
package dev;
import java.sql.*;
import javax.naming.*;
import javax.sql.DataSource;
import dev.DatebaseConn;
public class dbpage
{
 public int getAvailableCount(String tb)throws Exception
{

             DatebaseConn conn=new DatebaseConn();
             Statement stmt=conn.createStatement();
     String strSql="select count(*) from "+tb+"";
ResultSet rset=stmt.executeQuery(strSql);
while(rset.next())
{
ret=rset.getInt(1);
}
return ret; }
}

解决方案 »

  1.   

    你这样调感觉是没错,你调完了关闭连接试试行不行
                          Context   initCtx   =   new   javax.naming.InitialContext();                     DataSource   ds=   (DataSource)initCtx.lookup("jdbc/bn");   ; 
    这两句没问题吗?
      

  2.   

    最后要记得关闭ResultSet、Statemen和数据库连接对象比如rs.close()
      

  3.   

    没看到ret在哪定义啊
    LZ定义了吗
      

  4.   

     Context  initCtx= new javax.naming.InitialContext();   
     DataSource  ds= (DataSource)initCtx.lookup("jdbc/bn");       ;   
    这两句没问题吗? 
    以上语句通过js调用,因为在weblogic直接配置的数据源,未在web.xml配置所以可以运行.
    -----------------------------------------------------------------
    没看到ret在哪定义啊 
    LZ定义了吗
    这个是我贴的时候贴错了.本应是rset----------------------------------------------------
    问题是JBuilder 9 编译是在
    import   dev.DatebaseConn;和  DatebaseConn   conn=new   DatebaseConn(); 
    报错,另外我已在DatabaseConn类引入import   javax.sql.DataSource; ,那么dbpage 还要不要引入  
      

  5.   

    搞定了多谢大家参与
    代码如下:weblogic8服务器 
    封装bean如下 
    package   dev; import   java.sql.*; 
    import   javax.naming.*; 
    import   javax.sql.DataSource; 
    public   class   DatabaseConn   { 
    public     static     Connection   getconnection()   throws   Exception 

    try 

                            Context   initCtx   =   new   javax.naming.InitialContext();                         DataSource   ds=   (DataSource)initCtx.lookup("jdbc/bn");   ; 
    return   ds.getConnection(); 

    catch(SQLException   e) 

    throw   e; 

    catch(NamingException   e) 

              throw   e; 
    } } }  调用bean 
    package   dev; 
    import   java.sql.*; 
    import   javax.naming.*; 
    import   javax.sql.DataSource; 
    import   dev.DatebaseConn; 
    public   class   dbpage 

      public   int   getAvailableCount(String   tb)throws   Exception 

                            int ret=0;
                            Connection  conn=dev.DatebaseConn.getconnection
                           Statement   stmt=conn.createStatement(); 
                           String   strSql="select   count(*)   from   "+tb+""; 
                           ResultSet   rset=stmt.executeQuery(strSql); 
                   while(rset.next()) 
                     { 
                     ret=rset.getInt(1); 
                     }
                      rset.close;
                      stmt.close; 
                     return   ret;