Cannot load JDBC driver class 'com.microsoft.sqlserver.jdbc.SQLServerDriver'

来源:互联网 发布:网络语言暴力的后果 编辑:程序博客网 时间:2024/04/29 10:20

最近研究一下数据库连接池技术,下面是转载别人的实现代码,简单易懂,希望能给大家带来帮助。

一、设置tomcat中server.xml文件的数据源。

Xml代码 复制代码 收藏代码
  1. <Context path=〞/jspdev〞 docBase=〞jspdev〞 debug=〞0〞 reloadable=〞true〞 crossContext=〞true〞>//这是在 Tomcat 中 jspdev的路径。    
  2.     <Resource name=〞jdbc/jspdev〞 auth=〞Container〞 type=〞javax.sql.DataSource〞/>//定义数据源的名字。    
  3.     <ResourceParams name=〞jdbc/jspdev〞>    
  4.      <parameter>    
  5.       <name>factory</name>    
  6.        <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>    
  7.      </parameter>    
  8.      <parameter>    
  9.       <name>driverClassName</parameter>    
  10.       <value>com.Microsoft.jdbc.sqlserver.SQLServerDriver</value>    
  11.      </parameter>// JDBC 驱动名。    
  12.      <parameter>    
  13.       <name>url</parameter>    
  14.       <value>jdbc:Microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev</value>    
  15.       </parameter>// 连接数据库的设置信息。    
  16.       <parameter>    
  17.       <name>username</parameter>    
  18.      <value>bn</value>    
  19.       </parameter>    
  20.       <parameter>    
  21.       <name>password</parameter>    
  22.       <value>bn</value>    
  23.       </parameter>    
  24.       <parameter>//登录数据库的用户名和密码。    
  25.       <name>maxActive</parameter>    
  26.       <value>20</value>    
  27.       </parameter>//设置连接池的最大连接数。    
  28.       <parameter>    
  29.        <name>maxIdle</parameter>    
  30.        <value>10</value>    
  31.       </parameter>//设置连接池的空闲连接数。    
  32.       <parameter>    
  33.       <name>maxWait</parameter>    
  34.       <value>-1</value>    
  35.       </parameter>    
  36.     </ResourceParams>//设置连接建立的等待时间,单位为毫秒。    
  37. </Context>   
[xml] view plaincopyprint?
  1. <Context path=〞/jspdev〞 docBase=〞jspdev〞 debug=〞0〞 reloadable=〞true〞 crossContext=〞true〞>//这是在 Tomcat 中 jspdev的路径。   
  2.     <Resource name=〞jdbc/jspdev〞 auth=〞Container〞 type=〞javax.sql.DataSource〞/>//定义数据源的名字。   
  3.     <ResourceParams name=〞jdbc/jspdev〞>   
  4.      <parameter>   
  5.       <name>factory</name>   
  6.        <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>   
  7.      </parameter>   
  8.      <parameter>   
  9.       <name>driverClassName</parameter>   
  10.       <value>com.Microsoft.jdbc.sqlserver.SQLServerDriver</value>   
  11.      </parameter>// JDBC 驱动名。   
  12.      <parameter>   
  13.       <name>url</parameter>   
  14.       <value>jdbc:Microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev</value>   
  15.       </parameter>// 连接数据库的设置信息。   
  16.       <parameter>   
  17.       <name>username</parameter>   
  18.      <value>bn</value>   
  19.       </parameter>   
  20.       <parameter>   
  21.       <name>password</parameter>   
  22.       <value>bn</value>   
  23.       </parameter>   
  24.       <parameter>//登录数据库的用户名和密码。   
  25.       <name>maxActive</parameter>   
  26.       <value>20</value>   
  27.       </parameter>//设置连接池的最大连接数。   
  28.       <parameter>   
  29.        <name>maxIdle</parameter>   
  30.        <value>10</value>   
  31.       </parameter>//设置连接池的空闲连接数。   
  32.       <parameter>   
  33.       <name>maxWait</parameter>   
  34.       <value>-1</value>   
  35.       </parameter>   
  36.     </ResourceParams>//设置连接建立的等待时间,单位为毫秒。   
  37. </Context>   

 

二、在JSP中实现

Java代码 复制代码 收藏代码
  1. <%    
  2.   DataSource ds = null;    
  3.   try{    
  4.    Context initCtx = new InitialContext();    
  5.    Context envCtx = (Context) initCtx.lookup(''java:comp/env'');    
  6.   ds=(DataSource)envCtx.lookup(“jdbc/jspdev”);    
  7.    if(ds!=null)    
  8.    {    
  9.    Connection conn = ds.getConnection();    
  10.    Statement stmt=conn.createStatement();    
  11.    ResultSet rst=stmt.executeQuery(''select * from book'');    
  12.    }    
  13. %>   
[java] view plaincopyprint?
  1. <%   
  2.   DataSource ds = null;   
  3.   try{   
  4.    Context initCtx = new InitialContext();   
  5.    Context envCtx = (Context) initCtx.lookup(''java:comp/env'');   
  6.   ds=(DataSource)envCtx.lookup(“jdbc/jspdev”);   
  7.    if(ds!=null)   
  8.    {   
  9.    Connection conn = ds.getConnection();   
  10.    Statement stmt=conn.createStatement();   
  11.    ResultSet rst=stmt.executeQuery(''select * from book'');   
  12.    }   
  13. %>   

   由于在Tomcat中配置了数据源,可以通过(DataSource)envCtx.lookup(''jdbc/jspdev'')来查找这个资料源。查找到这个资料源,就可以通过Connection conn = ds.getConnection()的方法来获得一个到数据库的连接。

 

 

用得tomcat6.0配置数据库连接池
缺少msbase.jar,mssqlserver.jar,msutil.jar
并在tomcat的lib下加入上文件
和WebRoot/WEB-INF/lib下加入上文件
Tomcat配置时连接池驱动包必须放在tomcat目录下的lib里。这是因为Tomcat连接池是在Tomcat启动时就创建了,那里还没有加载项目里的驱动包。
 
dbcp连接池程序包,要在同一目录下即web-inf/lib下
 
 
 
SQL Server2000的JDBC驱动程序的DriverClassName是 "com.microsoft.jdbc.sqlserver.SQLServerDriver"

SQL Server2005的JDBC驱动程序的DriverClassName是 "com.microsoft.sqlserver.jdbc.SQLServerDriver"

Tomcat */conf/context.xml配置
 <Resource name="jdbc/pubs"
  auth="Container"
type="javax.sql.DataSource"
maxActive="100" maxldle="30"
    maxWait="10000"
username="sa"
password="sa"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" 
 url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=blog"
  factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"/>
 <ResourceLink global="jdbc/pubs" name="jdbc/pubs" type="javax.sql.DataSource"/>
web.xml里配置
<resource-ref>
      <description>DataSource</description>
      <res-ref-name>jdbc/pubs</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
   </resource-ref>
applicationContext.xml
设置
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
     <property name="jndiName" value="java:/comp/env/jdbc/pubs"/>
 </bean>