Tomcat 5.5.x 與舊版設定不同,必須同時在 server.xml(全域資源)與 conf/Catalina/localhost/<webapp>.xml(Context 連結)兩處定義 DataSource,否則會出現 Cannot create JDBC driver of class '' for connect URL 'null' 錯誤。本文提供完整設定範例與關鍵注意事項。
將 sqljdbc.jar(或 msbase.jar/mssqlserver.jar/msutil.jar)複製至:
%TOMCAT_HOME%/common/lib 及 %TOMCAT_HOME%/webapps/yourweb/WEB-INF/lib
<Resource
name="jdbc/quickstart"
type="javax.sql.DataSource"
password="123456"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
maxIdle="2"
maxWait="5000"
username="sa"
url="jdbc:microsoft:sqlserver://localhost;DatabaseName=quickstart"
maxActive="4"/>
在 %TOMCAT_HOME%/conf/Catalina/localhost/quickstart.xml(與 webapp 同名)加入相同 Resource 定義:
<?xml version="1.0" encoding="UTF-8"?><Context>
<Resource
name="jdbc/quickstart"
type="javax.sql.DataSource"
password="123456"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
maxIdle="2"
maxWait="5000"
username="sa"
url="jdbc:microsoft:sqlserver://localhost;DatabaseName=quickstart"
maxActive="4"/>
</Context>
Context initCtx = new InitialContext();
DataSource ds = (DataSource) initCtx.lookup("java:comp/env/jdbc/quickstart");
Connection conn = ds.getConnection();