0

我有一个在 Tomcat 上运行的 Java servlet,它通过 JDBC 连接到 SQL Server。它在 Windows Server 2008 上运行良好。但是,当我今天使用相同的配置文件将应用程序部署到另一个 Windows Server 2012 时,出现以下异常:

严重:检测到无效连接。更新数据库连接。org.apache.tomcat.dbcp.dbcp.SQLNestedException:无法在 org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549) 创建 PoolableConnectionFactory(用户 'DOMAIN\CURRENT_HOST_NAME$' 登录失败。) org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) 在 org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) 。. 在 javax.servlet.GenericServlet.init(GenericServlet.java:160) 在 org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) 在 org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java :1193) 在 org.apache.catalina.core.StandardWrapper.load(StandardWrapper. util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(未知来源)原因:com.microsoft.sqlserver.jdbc.SQLServerException:用户“DOMAIN\CURRENT_HOST_NAME$”登录失败。在 com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:196) 在 com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:246) 在 com.microsoft.sqlserver.jdbc.TDSParser.parse (tdsparser.java:83) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection$1LogonProcessor.complete(SQLServerConnection.java:2306) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2534) 在 com。

DOMAIN 是域名,CURRENT_HOST_NAME 是应用服务器主机名。我的连接网址是:jdbc\:sqlserver\://DB_SERVER_ADDRESS\\DB_INSTANCE;DatabaseName=DB_NAME;integratedSecurity\=true;

有什么建议么?谢谢!

4

1 回答 1

0

前几天问题解决了。这是因为那台新计算机没有运行服务帐户,所以 SQL Server 拒绝了身份验证。

于 2013-10-29T10:23:01.083 回答