如题我做了个题,该配置的我都配置了,SQL服务器开了,MSBASE.JAR mssqlserver.jar MSUTIL.JAR这三个文件夹我也放到Lib目录下了,可是我用JDBC-ODBC桥能运行成功,用纯JDBC怎么就出现SQL异常了呢?????下面程序我注释掉的是用JDBC建立的连接,大家帮我看看有错么程序如下:
package jdbctest;/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.ResultSet;
import java.io.BufferedReader;
class JDBCTest {
    Statement stat;
    String strSql;
    Connection con;
    ResultSet rs;
    BufferedReader br;
    public JDBCTest() {
    }
    void establishConnettion(){
        try{
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
           // Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
        }catch(ClassNotFoundException ce){
            System.out.println(ce);
        }
        try{
            String url="jdbc:odbc:myODBC";
           //String url= "jdbc:microsoft:sqlserver://localhost:1433;databasename=product";
            con=DriverManager.getConnection(url,"sa","sa");
            stat=con.createStatement();
        }catch(SQLException ce){
            System.out.println("错误..."+ce);
        }
  }
  void searchRecord(){
      try{
         // int roll=Integer.parseInt(br.readLine());
          //String code=br.readLine();
          rs=stat.executeQuery("Select * from Product");
      }catch(SQLException ioe){
          System.out.println(ioe);
      }
  }
  void show(){
      System.out.println("记录:");
      try{while(rs.next())
      {
          System.out.print(rs.getString(1)+"\t");
          System.out.print(rs.getString("ProductName")+"\t");
      }
      rs.close();
      stat.close();
      con.close();
      }catch(SQLException ce){
          System.out.print(ce);
      }
  }
    public static void main(String[] args) {
        JDBCTest jdbctest = new JDBCTest();
        jdbctest.establishConnettion();
        jdbctest.searchRecord();
        jdbctest.show();
    }
}

解决方案 »

  1.   

    连接部分代码没什么问题
    可以看一下配置
    http://support.microsoft.com/kb/313100/zh-cn
      

  2.   

    如果JDBC是最新的,SQL 2000要升级
      

  3.   

    可以遇见的是: LZ没有把驱动包放到 classpath 中
      

  4.   

    我也碰到这个问题,把SQL SERVER升级到SP4就解决了
      

  5.   

    我的SQL就是SP4呀怎么还是不行郁闷啊