2017-04-06 70 views
0

我面臨的問題與tomcat。 我正在爲我的應用程序使用連接池,它使用內置身份驗證爲true。Tomcat無法連接到數據庫與tomcat服務,但成功與startup.bat

當我用startup.bat運行tomcat時,我的應用程序運行良好,並且能夠連接到數據庫。 但是當我嘗試使用tomcat作爲服務並使用tomcat8w.exe時,它給了我錯誤,並且說它無法登錄到ID爲「xxxx」的SQL服務器。這裏的「xxxx」不是他我已提供作爲我的用戶ID,但它顯示我的機器名稱。

因此,當我使用startup.bat它正確地採取我的id,但是當我使用tomcat8w.exe來啓動我的tomcat它需要我/ $作爲用戶,然後它說失敗。

任何想法,我其採取的機器名作爲用戶名,我該如何解決

回答

0

難道說你使用的是集成安全性連接到你的SQL Server數據庫?確保您的連接字符串包含User IdPassword,而不是trusted_connectionintegrated security

或者你可以更改tomcat服務正在運行的windows用戶。在Windows上打開服務並打開tomcat服務的屬性。您可以在第二個面板Log On中更改Windows用戶。嘗試將該帳戶設置爲您登錄的用戶。

理想情況下,您應該選擇一個可以訪問數據庫的Windows用戶,但沒有其他更多。然後使用integrated security,因此您不需要在連接字符串中存儲純文本密碼。

+0

感謝您的反應,但它運行良好,當我運行tomcat8.5使用startup.bat但相同的tomcat時,我從eclipse運行它給出錯誤「警告:無法在JMX中註冊:javax.naming.NamingException:可能不加載資源工廠類[根異常是java.lang.ClassNotFoundException:org.apache.commons.dbcp.BasicDataSourceFactory]「 – Sunder