2013-10-01 49 views
0

在Windows身份验证SQL Server的JDBC连接异常我有一个Java servlet在Tomcat运行的连接到SQL Server使用JDBC。它在Windows服务器上工作正常,2008年 然而,当我今天2012将应用程序部署到另一Windows Server具有相同的配置文件,我得到了以下情况除外:适用于Windows Server 2012

重度:检测到无效的连接。更新数据库连接。 org.apache.tomcat.dbcp.dbcp.SQLNestedException:无法创建PoolableConnectionFactory(用户登录失败 '域\ CURRENT_HOST_NAME $'。)在org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory (BasicDataSource.java:1549 ) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) at 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.java:1088) 在org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5176) 的组织。 apache.catalina.core.StandardContext.startInternal(StandardContext.java:5460) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在org.apache.catalina.core.ContainerBase.addChildInternal( ContainerBase.java:901) 在org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 在org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) 在org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1113) 在org.apache.catalina.startup。 HostConfig $ DeployDirectory.run(HostConfig.java:1671) at java.util.concurrent.Executors $ RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask $ Sync.innerRun(Unknown Source) at java。 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:Log用户'DOMAIN \ CURRENT_HOST_NAME $'失败。 at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:196) at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:246) at com.microsoft.sqlserver.jdbc。 TDSParser.parse(tdsparser.java:83) at com.microsoft.sqlserver.jdbc.SQLServerConnection $ 1LogonProcessor.complete(SQLServerConnection.java:2306) at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java: (SQLServerConnection.java:41) at com.microsoft.sqlserver .jdbc.SQLServerConnection $ LogonCommand.doExecute(SQLServerConnection.java:1917) at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4026) at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1416) at com.microsoft.sqlserver.jdbc。 SQLServerConnection.connectHelper(SQLServerConnection.java:1061) 在com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:833) 在com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection。java:716) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:841) at org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) at org。 apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556) at org.apache.tomcat.dbcp。 dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545) ...... 27多个

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

有什么建议吗?谢谢!

回答

0

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

相关问题