首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在context.xml中配置jdbcRealm

在context.xml中配置jdbcRealm
EN

Stack Overflow用户
提问于 2012-01-31 13:51:58
回答 1查看 6.9K关注 0票数 4
代码语言:javascript
复制
<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。

代码语言:javascript
复制
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

可能的问题是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-31 15:45:15

代码语言:javascript
复制
Caused by: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

告诉您在类路径中找不到sql库。

它需要位于tomcat/lib文件夹中。

doc中:

要将

设置为使用JDBCRealm,您需要执行以下步骤:

  1. 如果您尚未这样做,请在数据库中创建符合上述要求的表和列。Tomcat
  2. 配置数据库用户名和密码以供

使用,该数据库用户名和密码至少对上述表具有只读访问权限。(Tomcat永远不会尝试写入这些表。)

  1. 将您将使用的JDBC驱动程序的副本放在$CATALINA_HOME/lib目录中。注意,只识别JAR文件!
  2. 在$CATALINA_BASE/conf/server.xml文件中设置一个元素,如下所述。
  3. 如果Tomcat6已经在运行,请重新启动它。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9075044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档