在做一个web service,web service中用到了jdbc连接sql server数据库。
这个web service在没法不成服务前作为java文件直接运行的时候(也就是直接在工程中运行),没有问题。
但一旦发布成服务后,调用服务的时候,就会出现:
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
的错误。
环境变量,该添入工程的包等都设置好了。据说,java打成jar包时,也会出现这样的问题,但可以通过在jar包中添入需要的一些东西得到解决,可我这是个web service,该怎么办??
用的是eclipse。在数据库版发了个100分的帖:
http://topic.csdn.net/u/20080602/00/e617e6dc-9846-4b03-963c-ad39e4be0943.html

解决方案 »

  1.   

    sqlserver的jar包2000 跟2005是不同的!你将你那个sqlsever的jar包点击出来看看!看看是否跟你的这个com.microsoft.jdbc.sqlserver.SQLServerDriver 一致!
      

  2.   

    1.你确保三个驱动包作为外包时的路径是否正确,或者在WEB-INF文件夹下的lib文件夹下有三个驱动包.
    2.如果你用的服务器是Tomcat的话,建议在Tomcat目录下的lib文件中加入三个驱动包(如果是Tomcat5.0的话,lib文件夹应该是在common文件夹下).
      

  3.   

    sqlserver2000和2005的驱动类是不同的。你看清楚点!
    2005是com.microsoft.sqlserver.jdbc.类名
      

  4.   

    我写的是这个:"com.microsoft.jdbc.sqlserver.SQLServerDriver"
    用sql server 2000。
    我在工程中运行是没有问题的,一旦以web服务的方式调用,就出现了上面的报错。
      

  5.   


    2.如果你用的服务器是Tomcat的话,建议在Tomcat目录下的lib文件中加入三个驱动包(如果是Tomcat5.0的话,lib文件夹应该是在common文件夹下)这个正解~~~~~~呵呵
    不过却返回了这个信息,不知道是什么意思?是有错误么
    com.microsoft.jdbc.base.BaseResultSet@ce16ad
      

  6.   

    java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver 1. 确认你的SQL SERVER的LIB已添加到工程(或包)中;
    2. 确认你的DRIVER包对应路径与com.microsoft.jdbc.sqlserver.SQLServerDriver相符.这样就基本OK了, 当然仅仅是要本地运行的话, 也可以把DRIVER LIB添加到你的环境变量CLASS PATH里.
      

  7.   

    建议你写捕获SQL异常的时候,在catch(Exception e){}的花括号里加上e.printStackTrace();
      

  8.   

    可以添加jar,就是把你的jar添加到eclipse的用户路径中
    放在项目的lib文件夹下试试
      

  9.   

     com.microsoft.jdbc.sqlserver.SQLServerDriver 
    =》
     com.microsoft.sqlserver.jdbc.SQLServerDriver 建议你看看精华贴里面的一个文章,自己找一下,是数据库连接的方式集成