//郁闷死我了,从昨天调到今天中午也没调好,高手帮帮忙啊~
//下边是代码public class db {Context ctx =null;
DataSource ds =null;
Connection conn =null;
Statement stmt =null;
ResultSet rs =null;
public db() {
try {
ctx = new javax.naming.InitialContext();
System.out.println ("--------db30----------");
if(ctx==null){
throw new Exception("ctx==null");
}
ds = (javax.sql.DataSource)ctx.lookup("java:comp/env/jdbc/lesson");
System.out.println ("--------db35----------");
if(ds==null){
throw new Exception("ds==null");
}
conn = ds.getConnection();
System.out.println ("--------db40----------");
if(conn==null){
throw new Exception("conn==null");
}
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
System.out.println ("--------db46----------");
}
catch (Exception ex) {
//System.err.println("db.executeQuery :"+ex.getMessage());
ex.printStackTrace();
}}//-----------------------------------------------------------------------------------执行到conn = ds.getConnection();就出错,下边是错误信息:--------db30----------
--------db35----------
org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory, cause:
java.sql.SQLException: Connection refused: connect
at net.sourceforge.jtds.jdbc.TdsUtil.getSQLException(TdsUtil.java:181)
at net.sourceforge.jtds.jdbc.TdsUtil.getSQLException(TdsUtil.java:160)
at net.sourceforge.jtds.jdbc.TdsConnection.<init>(TdsConnection.java:182)
at net.sourceforge.jtds.jdbc.TdsConnectionJDBC3.<init>(TdsConnectionJDBC3.java:53)
at net.sourceforge.jtds.jdbc.Driver.getConnection(Driver.java:102)
at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:85)
at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:82)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:300)
at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:838)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:821)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:518)------------------------------------------------------------------------------下边是我 server.xml 的配置
<Resource name="jdbc/lesson" scope="Shareable" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/lesson">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<!-- DBCP database connection settings -->
<parameter>
<name>url</name>
<value>jdbc:jtds:sqlserver://localhost:1433/lesson</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>net.sourceforge.jtds.jdbc.Driver</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value>795486</value>
</parameter>
<!-- DBCP connection pooling options -->
<parameter>
<name>maxWait</name>
<value>3000</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>100</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>10</value>
</parameter>
</ResourceParams>
//高手帮忙看看,是哪里的问题呢

解决方案 »

  1.   

    java.sql.SQLException: Connection refused: connect
    无非是URL、数据库名字、用户名、密码、端口等错误。呵呵
      

  2.   

    呵呵,又是莫飞兄,
    上此我提的问题就是莫非兄给解答的
    谢谢了
    URL、数据库名字、用户名、密码 都没问题
    问题可能处在端口上
    我的server 虽然打开了,可是防火墙监测不到 1433 端口
    这个问题我真是不知道怎么回事
    应该是开server 自动开 1433 的阿
      

  3.   

    conn = ds.getConnection();被多次执行错误。
    用前先判断是否已建立了此连接,无则执行它。
      

  4.   

    怎么最近老出这个问题,前几天刚刚看到tomcat中datasource出问题的帖子问题好像跟你的差不多