JNDI配置连接池

<Context path="/OA" reloadable="true" docBase="E:\webapp\OA\WebRoot" debug="0">

<Resource name="jdbc/OA" auth="Container" type="javax.sql.DataSource"/>
  <ResourceParams name="jdbc/OA">
   <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=OA</value>
   </parameter>
   <parameter>
    <name>username</name>
    <value>sa</value>
   </parameter>
   <parameter>
    <name>password</name>
    <value>libiao</value>
   </parameter>
   <parameter>
    <name>maxActive</name>
    <value>1000</value>
   </parameter>
   <parameter>
    <name>maxIdle</name>
    <value>50</value>
   </parameter>
   <parameter>
    <name>maxWait</name>
    <value>50</value>
   </parameter>
  </ResourceParams>

</Context>

以上的方式只适合 SQL Server2000 URL与Driver的配置



在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"; 

如果写法错误将会找不到驱动.



如果是tomcat5.5这样配置之后依然会报“Cannot create JDBC driver of class '' for connect URL 'null'”错误。解决的方法是将上述配置该为下面这种格式:

<Context path="/OA" reloadable="true" docBase="E:\webapp\OA\WebRoot" debug="0">
  <Resource
       name="jdbc/OA"
       type="javax.sql.DataSource"
       password="libiao"
       driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
       maxIdle="2"
       maxWait="5000"
       username="sa"
       url="jdbc:sqlserver://localhost:1433;DatabaseName=OA"
       maxActive="4"/>
</Context>


另外还有两种错误顺便提一下:

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

这是因为你的jdbc驱动没有装。

你可以到 http://www.microsoft.com/downloads/details.aspx?FamilyID=ee91ad1a-1ee4-49e1-95ea-e3f0e39114a9&DisplayLang=en

下载驱动程序,下载之后,将msbase.jar,mssqlserver.jar,msutil.jar拷贝到tomcat的安装目录下的common\lib文件夹下面。

2.Cannot create resource instance

这是因为你的

<Resource name="JDBC/TestDB"

    auth="Container"

    type="javax.sql.DataSource"

……

/>





   ctx = new InitialContext();
   ds = (DataSource)ctx.lookup("java:comp/env/jdbc/OA");
   System.err.println("数据连接");
   return ds.getConnection();

你可能感兴趣的:(sql,tomcat,jdbc,SQL Server,Microsoft)