我遇到了 tomcat 的问题。 我正在为我的应用程序使用连接池,它使用内置身份验证。
当我使用 startup.bat 运行 tomcat 时,我的应用程序运行良好并且能够连接到数据库。 但是当我尝试使用 tomcat 作为服务并使用 tomcat8w.exe 时,它给我错误,并说它无法登录 ID 为“xxxx”的 SQL 服务器。这里的“xxxx”不是我提供的用户 ID,而是显示我的机器名称。
因此,当我使用 startup.bat 时,它正确地获取了我的 ID,但是当我使用 tomcat8w.exe 启动我的 tomcat 时,它以我的/$ 作为用户,然后它说它失败了。
知道我将机器名作为用户名,我该如何解决
最佳答案
您是否正在使用集成安全性连接到您的 SQL Server 数据库?确保您的连接字符串包含 User Id
和 Password
而不是 trusted_connection
或 integrated security
。
或者您可以更改运行 tomcat 服务的 Windows 用户。在 Windows 上打开服务并打开 tomcat 服务的属性。您可以在第二个面板 Log On
中更改 Windows 用户。尝试将帐户设置为您登录的用户。
理想情况下,您会选择一个可以访问数据库但没有其他权限的 Windows 用户。然后使用集成安全
,这样您就不需要在连接字符串中存储纯文本密码。
关于Tomcat 无法使用 tomcat 服务连接到数据库,但使用 startup.bat 成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43262860/