访问数据库,用JDBC-ODBC桥的方式没问题;但如果用第三方工具(SQL Server 2000的JDBC驱动程序)连接,会提示
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver我知道是没有找到驱动的原因,可是在classpath里明明已经添加了三个jar包:msbase.jar;mssqlserver.jar以及msutil.jar。问题我也解决了,得把这三个包放在项目的WEB-INF\lib里才行,放在Tomcat服务器的\common\lib下也不行。但是想问问高手为什么,不是设置环境变量就可以了吗?怎么还需要把三个jar包放在项目的WEB-INF\lib里呢?

解决方案 »

  1.   

    你用的是JDBC-ODBC桥接的方式连接数据库 
    应该先配置数据源(ODBC)!
    如何配置数据源你应该知道吧!
      

  2.   

    回复:huili851224 
    那个没有问题,JDBC-ODBC方式是能够正常访问的。
      

  3.   

    忘记说了:
    应该把这三个jar包:msbase.jar;mssqlserver.jar以及msutil.jar,放到Tomcat服务器的\common\lib下!
      

  4.   

    Tomcat启动的时候就会去common的lib下找需要引入的jar包阿,设置环境变量也是可以的,关键看你怎么设的
      

  5.   

    为什么不能放到tomcat下的common的lib下是因为
    你的项目里通过
    Class.forname("com.microsoft.jdbc.sqlserver.SQLServerDriver ");去加载驱动程序
    这样项目会查看自己的环境里是否有这个包
    那么它一查找没有这个环境,就会报classNotFound 异常
    你可以试试 自己手动的去导包,import 去导 如果你没有导入那3个包  那么 你的编程工具是不会提示你的
    只有你导入那3个包了后你在去手动的导入时它会一步步提示你
    这就说明了它是在自己的环境里查找,而你并没有发布到tomcat里
    而如果放到common的lib里则是tomcat启动的环境
    over....