我用Java连mssqlserver2000的数据库,通过基本的JDBC连接数据库是正常,并且能继续后续的查询等数据库操作
但是我用数据源的方式来获取连接的时候就会报这样的错,在网上找了很久,提供的方法都试过了,最后还是不可以,希望有类似经历的朋友帮忙看看。数据库是MSSQLSERVER2000, SP3补丁打过的
数据源的配置是
<Resource name="jdbc/sqlserverds" auth="Container" type="javax.sql.DataSource"/> 
           <ResourceParams name="jdbc/sqlserverds">
             <parameter>
               <name>factory</name>
               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
             </parameter>
             <parameter>
               <name>driverClassName</name>
               <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
             </parameter>
             <parameter>
               <name>url</name>
               <value>jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=app</value>
             </parameter>
             <parameter>
               <name>username</name>
               <value>sa</value>
             </parameter>
             <parameter>
               <name>password</name>
               <value>sqlserver</value>
             </parameter>
             <parameter>
               <name>maxActive</name>
               <value>1000</value>
             </parameter>
             <parameter>
               <name>maxIdle</name>
               <value>100</value>
             </parameter>
             <parameter>
               <name>maxWait</name>
               <value>5000</value>
             </parameter>
   </ResourceParams> 
</Context>错误信息:
Cannot create JDBC driver of class '' for connect URL 'null'->java.sql.SQLException: No suitable driverJava代码:
initContext = new InitialContext();
context = (Context) initContext.lookup("java:comp/env");
dataSource = (DataSource) context.lookup("jdbc/sqlserverds");
connection = dataSource.getConnection();

解决方案 »

  1.   

    环境是jdk1.5 , tomcat 5.5
    将MSSQLSERVER的3个jar都放在tomcat目录的common/lib中
      

  2.   

    没这样稿过,应该是你的sql驱动有问题,配错了还是写错了?
      

  3.   

    http://www.blogjava.net/flustar/archive/2010/04/14/111362.html
      

  4.   

    没有合适的mssqlserver驱动。换一个比较新且适用的驱动版本试试
      

  5.   

    楼主我原来看到类似帖子给你友情链接哈
    http://topic.csdn.net/u/20100806/09/da149054-efe1-4459-a3fa-6d978c114a6b.html
      

  6.   

    在sql server 2000 中加载驱动和URL路径的语句是String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sample";而sql server 2005 中加载驱动和url的语句则为String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
    String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample"; 如果写法错误将会找不到驱动.如果你用的确实是server2000的话找不到驱动还可能是你类里面url变量名不是  <name>url</name>
      <value>jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=app</value>
    你这里定义的<name>url</name>
      

  7.   

    真有点搞不懂
    <Resource name="jdbc/sqlserverds" auth="Container" type="javax.sql.DataSource"/>  
      <ResourceParams name="jdbc/sqlserverds">
      <parameter>
      <name>factory</name>
      <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
      </parameter>
      <parameter>
      <name>driverClassName</name>
      <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
      </parameter>
      <parameter>
      <name>url</name>
      <value>jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=app</value>
      </parameter>
      <parameter>
      <name>username</name>
      <value>sa</value>
      </parameter>
      <parameter>
      <name>password</name>
      <value>sqlserver</value>
      </parameter>
      <parameter>
      <name>maxActive</name>
      <value>1000</value>
      </parameter>
      <parameter>
      <name>maxIdle</name>
      <value>100</value>
      </parameter>
      <parameter>
      <name>maxWait</name>
      <value>5000</value>
      </parameter>
    </ResourceParams>  
    </Context>
    按照这样的方式写居然会不行,而按下面的方式写就可以
    <Resource name="jdbc/sqlserverds" type="javax.sql.DataSource" 
     username="sa"
     password="sqlserver" 
     driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" 
     maxIdle="2" maxWait="5000" 
     url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=appt2logistics" maxActive="500"/>
    有谁能帮我解答下这是什么原因?
    我用的是myeclipse6.5/tomcat 5.5(非安装版)
      

  8.   

    首先 照一下配置修改试试:
    driverClassName = net.sourceforge.jtds.jdbc.Driver
    url = jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=app还是不行 再把exception发出来
      

  9.   

    下载一下 3个jar包
    msbase-1.0.jar
    mssqlserver-1.0.jar
    msutil-1.0.jar我用的都是1.0的,如果需要可以留言 我发你