我在this.gConnect   = DriverManager.getConnection(lUrl, lUserName, lPassWord);
设置了保护。系统在次捕获了SQLException异常。

解决方案 »

  1.   

    SQLException中应该有错误信息吧。
    还有,又没有正常装入驱动程序。
      

  2.   

    你的数据库好象是不是设在:“windows 验证”
    用驱动应该是设在“sa用户名验证”的
      

  3.   

    我也遇到同样的问题了,而且发现用Tomcat作服务器就连不上,用jswdk就行;并且用try语句发现没有详细的错误输出.很是郁闷呀!楼主要是发现了解决方法,麻烦转告([email protected]).我要是知道了也一定回贴告知.非常感谢!共同进步!
      

  4.   

    你看看这是我也前写的连接SQL server的!你改改!
    //package
    package InfoDatabase;
    //import
    import java.sql.*;public class OpenDatabase
    {
    //define connection string for db: jdbc.odbc bridge
    String strDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
    String strurl="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=door.mdb";
    //DSN=2004.mdb";
    //
    //String strurl = "jdbc:odbc:infodb";
    Connection conn = null;
    ResultSet rs = null;
    Statement stmt;

    //open database_connection
    public OpenDatabase(){
    try{
    Class.forName(strDBDriver);
    conn = DriverManager.getConnection( strurl, "", "" );
    stmt = conn.createStatement();
    // System.err.println("Opendb is visited.");
    }
    catch( java.lang.ClassNotFoundException e ){
    System.err.println( "opendb(): " + e.getMessage() );
    }
    catch( java.sql.SQLException e1 ){
    System.err.println( "aq.executeQuery: " + e1.getMessage() );
    }
    }

    //execute sql query: select
    public ResultSet executeQuery( String sql ){
    rs = null;
    try{
    rs = stmt.executeQuery( sql );
    }
    catch( SQLException e ){
    System.err.println( "aq.executeQuery: " + e.getMessage() );
    }
    return rs;
    } //execute sql update: insert, delete
    public boolean executeUpdate( String sql ){
    try{
    stmt.executeUpdate( sql );
    return true;
    }
    catch( SQLException e ){
    System.err.println( "aq.executeUpdate: " + e.getMessage() );
    }
    return false;
    } //execute sql count: count
    public int executeCount( String sql ){
    rs = null;
    try{
    int nCount  = 0;
    rs = stmt.executeQuery( sql );
    while( rs.next() ){
    nCount ++;
    }
    return nCount;
    }
    catch( SQLException e ){
    System.err.println( "aq.executeCount: " + e.getMessage() );
    }
    return -1;
    } //end of class Opendb
    public void close(){
    try{
    rs.close();
    stmt.close();
    }
    catch( Exception e ){
    System.err.println( e.toString() );
    }
    }

    //destruction
    public void finalize(){
    try{
    rs.close();
    stmt.close();
    conn.close();
    }
    catch( Exception e ){
    System.err.println( e.toString() );
    }
    }
    }
      

  5.   

    jdbc for sqlserver2000不能连sqlserver7.0,
      

  6.   

    你可以用JDBC-ODBC桥连
    sun.jdbc.odbc.JdbcOdbcDriver
    前提是先建一个数据源或者用第三方提供的JDBC驱动
      

  7.   


    第三方freetds
    http://lists.ibiblio.org/pipermail/freetds/2001q3/004995.html
      

  8.   

    对不起!刚才发错了!这个才是!
    //package
    package InfoDatabase;
    //import
    import java.sql.*;public class OpenDatabase
    {
    //define connection string for db: jdbc.odbc bridge
    String strDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
    String strConnStr = "jdbc:odbc:INFODATABASE";
    Connection conn = null;
    ResultSet rs = null;
    Statement stmt;

    //open database_connection
    public OpenDatabase(){
    try{
    Class.forName(strDBDriver);
    conn = DriverManager.getConnection( strConnStr, "infodb", "infodb" );
    stmt = conn.createStatement();
    // System.err.println("Opendb is visited.");
    }
    catch( java.lang.ClassNotFoundException e ){
    System.err.println( "opendb(): " + e.getMessage() );
    }
    catch( java.sql.SQLException e1 ){
    System.err.println( "aq.executeQuery: " + e1.getMessage() );
    }
    }

    //execute sql query: select
    public ResultSet executeQuery( String sql ){
    rs = null;
    try{
    rs = stmt.executeQuery( sql );
    }
    catch( SQLException e ){
    System.err.println( "aq.executeQuery: " + e.getMessage() );
    }
    return rs;
    } //execute sql update: insert, delete
    public boolean executeUpdate( String sql ){
    try{
    stmt.executeUpdate( sql );
    return true;
    }
    catch( SQLException e ){
    System.err.println( "aq.executeUpdate: " + e.getMessage() );
    }
    return false;
    } //execute sql count: count
    public int executeCount( String sql ){
    rs = null;
    try{
    int nCount  = 0;
    rs = stmt.executeQuery( sql );
    while( rs.next() ){
    nCount ++;
    }
    return nCount;
    }
    catch( SQLException e ){
    System.err.println( "aq.executeCount: " + e.getMessage() );
    }
    return -1;
    } //end of class Opendb
    public void close(){
    try{
    rs.close();
    stmt.close();
    }
    catch( Exception e ){
    System.err.println( e.toString() );
    }
    }

    //destruction
    public void finalize(){
    try{
    rs.close();
    stmt.close();
    conn.close();
    }
    catch( Exception e ){
    System.err.println( e.toString() );
    }
    }
    }
      

  9.   

    真正问题好象是jdbc for sqlserver2000不能连sqlserver7.0,我改成连sqlserver2000数据库成功了!
      

  10.   

    原来是虚惊一场。祝贺楼主找到问题的所在,可是怎么连接7.0呢,是不是只能通过jdbcodbc桥呢?
      

  11.   

    哪位能提供for sqlserver7.0的JDBC