的DB是:MSSQL 2008 R2 OS =的Windows Server 2008 R2的Tomcat 7.0.52 JNDI錯誤,同時部署WAR文件
全球資源server.xml中是:
<Resource name="data source name" auth="Container" type="javax.sql.DataSource" username="myuser" password="[email protected]" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://host:1433;databaseName=test1;selectMethod=cursor" maxWait="30000" maxActive="32" maxIdle="4" initialSize="4" timeBetweenEvictionRunsMillis="600000" minEvictableIdleTimeMilllis="600000" />
</GlobalNamingResources>
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
是資源價值衝突還是還有其他問題?我也曾嘗試在資源名稱標籤中添加tomcat用戶文件,但也不起作用。 我也在context.xml文件中定義了數據源名稱。
錯誤日誌:
2014年3月12日下午五時19分53秒org.apache.catalina.realm.UserDatabaseRealm startInternal 重度:在關鍵UserDatabase javax.naming.NameNotFoundException異常仰視UserDatabase:名稱[UserDatabase]未在此上下文中綁定。無法找到[UserDatabase]。 at org.apache.naming.NamingContext.lookup(NamingContext.java:819) at org.apache.naming.NamingContext.lookup(NamingContext.java:167) at org.apache.catalina.realm.UserDatabaseRealm.startInternal( UserDatabaseRealm.java:253) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在org.apache.catalina.realm.CombinedRealm.startInternal(CombinedRealm.java:201) 的組織。 apache.catalina.realm.LockOutRealm.startInternal(LockOutRealm.java:120) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.startInternal( ContainerBase.java:1109) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443) at org.apache.catalina.util。 LifecycleBase.start(LifecycleBase.java:150) 在org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:731) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在org.apache.catalina.startup.Catalina.start(Catalina.java:689) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(來源不明) 在陽光下。反射.DelegatingMethodAccessorImpl.invoke(未知源) at java.lang.reflect.Method.invoke(Unknown So urce) 在org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321) 在org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
2014年3月12日下午5:19:53 org.apache.catalina.realm.CombinedRealm startInternal SEVERE:未能啓動「org.apache.catalina.realm.UserDatabaseRealm/1.0」領域 org.apache.catalina.LifecycleException:無法啓動組件[ Realm [UserDatabaseRealm]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) at org.apache.catalina.realm.CombinedRealm.startInternal(CombinedRealm.java:201) at org.apache .catalina.realm.LockOutRealm.startInternal(LockOutRealm.java:120) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1109) at org.apache.catalina.core。 StandardEngine.startInternal(StandardEngine.java:300) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在org.apache.catalina.core.StandardService.startInternal(StandardService.java:443) at org.apache.catalina。util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:731) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java: 150) 在org.apache.catalina.startup.Catalina.start(Catalina.java:689) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(未知來源) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321) at org。 apache.catalina.startup.Bootstrap.main(Bootstrap.java:455) 引起:org.apache.cata lina.LifecycleException:在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)上的org.apache.catalina.realm.UserDatabaseRealm.startInternal(UserDatabaseRealm.java:262) 下的密鑰UserDatabase 下找不到UserDatabase組件) ... 17更多
我覺得你的資源名稱有問題,應該只有一個詞 – ankit
這實際上是一個詞,我故意在發佈問題時替換它。 – user3410549
你能分享你的context.xml嗎?而且,如果您想使用MSSQL對用戶進行身份驗證,請使用[DataSource Database Realm](http://tomcat.apache.org/tomcat-7.0-doc/config/realm.html#DataSource_Database_Realm_-_org.apache.catalina.realm .DataSourceRealm)。 –