b.设置PATH环境变量:C:\jdk;.;C:\jdk\bin
c.然后修改环境变量中的CLASSPATH,把Tomat安装目录下的?? common\lib下的? servlet.jar追加到CLASSPATH中去2.下载microsoft sql server 2000 driver for jdbc,安装(比如安装目录是C:\JDBC。)然后必须将安装目录中的lib目录下三个jar文件:
?msbase.jar,?mssqlserver.jar,?msutil.jar拷贝到Tomcat目录下common\lib目录下,之后,
修改环境变量中的CLASSPATH,把SQL?Server?2000?For?JDBC?驱动程序安装目录下的
C:\JDBC\lib\msbase.jar;
C:\JDBC\lib\mssqlserver.jar;
C:\JDBC\lib\msutil.jar
?追加到CLASSPATH中去,

解决方案 »

  1.   

    C:\JDBC\lib\msbase.jar;
    C:\JDBC\lib\mssqlserver.jar;
    C:\JDBC\lib\msutil.jar只要将C:\JDBC\lib\ 加到CLASSPATH中就可以了。
      

  2.   

    追加到classpath中应该没有问题,但开发时用eclipse将三个驱动包引入到project中即可了;
    project-->properties-->选左侧树状列表的java build path-->右侧出现的视图中选第三个标签Libraries,然后点击“Add External Jars...”加入你下载的三个.jar文件即可
      

  3.   

    我在eclipse下用tomcat5,对数据库操作,没有错误提示,好像是驱动问题
      

  4.   

    好,在连接数据库时出以下错误。java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
    at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
    at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
    at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
    at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
    at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(DriverManager.java:512)
    at java.sql.DriverManager.getConnection(DriverManager.java:171)
    at org.apache.jsp.insert_jsp._jspService(insert_jsp.java:56)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:195)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:211)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:805)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:696)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:605)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:677)
    at java.lang.Thread.run(Thread.java:536)
      

  5.   

    又是这个socket错误,端口有没有指定?
      

  6.   

    端口指定为1433,不好用,在odbc里选动态端口可以联上数据库,选1433的话,就连不上。哪位指点一下,不是1433是多少?
      

  7.   

    干吗不上msn呢?,给你解决问题来了.
      

  8.   

    好像就是IP和端口问题 
     
    把你连接数据库的bean 或配置文件给我们看一下嘛
      

  9.   

    解决了没有?解决了告诉俺一声,俺也是这个问题,一直没有得到解决,谢谢:[email protected]
      

  10.   

    /*
    * Created on 2004-10-20
    *
    * TODO To change the template for this generated file go to
    * Window - Preferences - Java - Code Style - Code Templates
    */
    package connect;/**
    * @author yzt
    *
    * TODO To change the template for this generated type comment go to
    * Window - Preferences - Java - Code Style - Code Templates
    */
    import java.*;
    public class Connect{
    private java.sql.Connection con = null;
    private final String url = "jdbc:microsoft:sqlserver://";
    private final String serverName= "yztcn";
    private final String portNumber = "1433";
    private final String databaseName= "jspdev";
    private final String userName = "bn";
    private final String password = "bn";
    // Informs the driver to use server a side-cursor,
    // which permits more than one active statement
    // on a connection.
    private final String selectMethod = "cursor";// Constructor
    public Connect(){}private String getConnectionUrl(){
    return url+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";";
    }private java.sql.Connection getConnection(){
    try{
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);
    if(con!=null) System.out.println("Connection Successful!");
    }catch(Exception e){
    e.printStackTrace();
    System.out.println("Error Trace in getConnection() : " + e.getMessage());
    }
    return con;
    }/*
    Display the driver properties, database details
    */public void displayDbProperties(){
    java.sql.DatabaseMetaData dm = null;
    java.sql.ResultSet rs = null;
    try{
    con= this.getConnection();
    if(con!=null){
    dm = con.getMetaData();
    System.out.println("Driver Information");
    System.out.println("\tDriver Name: "+ dm.getDriverName());
    System.out.println("\tDriver Version: "+ dm.getDriverVersion ());
    System.out.println("\nDatabase Information ");
    System.out.println("\tDatabase Name: "+ dm.getDatabaseProductName());
    System.out.println("\tDatabase Version: "+ dm.getDatabaseProductVersion());
    System.out.println("Avalilable Catalogs ");
    rs = dm.getCatalogs();
    while(rs.next()){
    System.out.println("\tcatalog: "+ rs.getString(1));
    }
    rs.close();
    rs = null;
    closeConnection();
    }else System.out.println("Error: No active Connection");
    }catch(Exception e){
    e.printStackTrace();
    }
    dm=null;
    }private void closeConnection(){
    try{
    if(con!=null)
    con.close();
    con=null;
    }catch(Exception e){
    e.printStackTrace();
    }
    }
    public static void main(String[] args) throws Exception
    {
    Connect myDbTest = new Connect();
    myDbTest.displayDbProperties();
    }
    }
      

  11.   

    jdbc:microsoft:sqlserver://yztcn:1433;datebaseName=jspdev;selectMetod=cursor;我决得好像是://yztcn:1433;有问题 你试试
    Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev","bn","bn");我一般都是这样的
     try
       {
       
        //装载驱动程序
       Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
      
       //创建连接
       Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev","bn","bn");
       
       Statement stmt=con.createStatement();
        int col=stmt.executeUpdate("update contact set mem='他下个月来北京' where userName='毒素发 '");
       out.println("成功更新"+col+"条数据");
        //关闭连接、释放资源
        
        stmt.close();
        con.close();
        }
        catch(Exception e)
        {
        e.printStackTrace();
        }
      

  12.   

    转载:《是因为我的系统是XP SP2,而我的SQL Server没有升级。将SQL Server升级到sp3就可以了。如果以后有谁碰到这种情况,可以考虑一下这种解决方案。 》
      

  13.   

    你可以把://yztcn:1433的 yztcn 用Ip来代替试试看了
    你的sql是在本地还在远端呀
      

  14.   

    yztcn表示的是数据库的名称还是别的呀
      

  15.   

    在WINDOWS下为什么不用JDBC-ODBC桥
      

  16.   

    yztcn是机器名
    ___________________
    不会是你的电脑的名字吧    j2nix(爱生活爱星辉)  说得对呀 用sqlserver 的服务器名 不是 机器名哦
    ________________________用IP地址的话,就指定端口。用服务器名就可以不用指定端口了。
    ________________________________
      

  17.   

    http://www.pconline.com.cn/pcedu/empolder/wz/jsp/0309/216129.html
    这个站点有详细信息!
      

  18.   

    http://www.pconline.com.cn/pcedu/empolder/wz/jsp/0309/216129_2.html
    这个站点有详细信息!