2012-01-31 36 views
4
<Context antiJARLocking="true" path="/NCellLive"> 
<Resource 
    name="jdbc/Gis_WebApp" 
    auth="Container" 
    type="javax.sql.DataSource" 
    username="uname" 
    password="pword" 
    driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" 
    url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=Gis_WebApp;SelectMethod=cursor;" 
    maxActive="8" 
/> 
    <Realm className="org.apache.catalina.realm.JDBCRealm" debug="99" 
    driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver" 
    connectionURL="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=Gis_WebApp;" 
    connectionName="uname" connectionPassword="pword" 
    userTable="app_user" userNameCol="username" userCredCol="password" 
    userRoleTable="app_user_group" roleNameCol="groupname"/> 

</Context> 

現在所有的數據庫連接都能正常工作,但是在添加領域後下列錯誤被引發後,我已經在庫中添加了sqljdbc4.jar。在context.xml中配置jdbcRealm

Jan 31, 2012 11:28:24 AM org.apache.catalina.realm.JDBCRealm authenticate 
SEVERE: Exception performing authentication 
java.sql.SQLException: com.microsoft.sqlserver.jdbc.SQLServerDriver 
    at org.apache.catalina.realm.JDBCRealm.open(JDBCRealm.java:701) 
    at org.apache.catalina.realm.JDBCRealm.authenticate(JDBCRealm.java:352) 
    at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:295) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:450) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) 
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1805) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:722) 
Caused by: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver 

可能是什麼問題?

回答

3
Caused by: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver 

告訴你的sql庫不能在類路徑中找到。
它需要在您的tomcat/lib文件夾中。

doc

要設置好Tomcat來使用JDBCRealm,你將需要遵循以下 步驟:

  1. 如果您還沒有這樣做,在創建表和列您的數據庫符合上述要求。
  2. 配置Tomcat使用的數據庫用戶名和密碼,該用戶名和密碼至少只能讀取上述表格的訪問權限。 (Tomcat將永遠不會嘗試寫入這些表)。
  3. 在$ CATALINA_HOME/lib目錄中放置要使用的JDBC驅動程序的副本。請注意,只有JAR文件被識別!
  4. 在$ CATALINA_BASE/conf/server.xml文件中設置一個元素,如下所述。
  5. 重新啓動Tomcat 6(如果它已經在運行)。
+0

說得對..現在 – kinkajou 2012-02-24 09:48:44

相關問題