|
原先QC9.2安装在WINDOWS SERVER 2000 和SQL SERVER 2000平台上,现在想迁移到WINDOWS SERVER 2003和SQL SERVER 2005平台。操作步骤如下:
1.安装WINDOWS SERVER 2003和SQL SERVER 2005.
2.安装QC9.2和中文补丁。
3.备份老平台上的数据库,并还原到新的平台上。
4.COPY 老平台下的D:\Program Files\Mercury\Quality Center\repository目录下的所有目录和文件到新的平台下。
用管理员权限登录,报错如下:
iled to Login;
Failed to check authentication of user 'admin';
Cannot build directory item for key '[qcsiteadmin_db@jdbc:mercury:sqlserver://zhiliangkz:1433(td)]' in SA Global Struct Dir;
Failed to fill table struct for table ADMIN in database qcsiteadmin_db@jdbc:mercury:sqlserver://zhiliangkz:1433(td);
Failed to determine structure of table 'ADMIN';
[Mercury][SQLServer JDBC Driver][SQLServer]对象名 'ADMIN' 无效。;
Stack Trace:
java.sql.SQLException: [Mercury][SQLServer JDBC Driver][SQLServer]对象名 'ADMIN' 无效。
at com.mercury.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.mercury.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.mercury.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
at com.mercury.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
at com.mercury.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at com.mercury.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)
at com.mercury.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source)
at com.mercury.jdbc.base.BaseStatement.postImplExecute(Unknown Source)
at com.mercury.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at com.mercury.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at com.mercury.jdbc.base.BaseStatement.executeQuery(Unknown Source)
at com.mercury.optane.core.db.CDatabaseFieldsInfo.fillStructArray(CDatabaseFieldsInfo.java:302)
wrapped in com.mercury.optane.core.db.CTdDbException: Failed to determine structure of table 'ADMIN'
at com.mercury.optane.core.db.CDatabaseFieldsInfo.fillStructArray(CDatabaseFieldsInfo.java:325)
at com.mercury.optane.core.db.CDatabaseFieldsInfo.obtainInfo(CDatabaseFieldsInfo.java:131)
wrapped in com.mercury.optane.core.CTdException: Failed to fill table struct for table ADMIN in database qcsiteadmin_db@jdbc:mercury:sqlserver://zhiliangkz:1433(td)
at com.mercury.optane.core.db.CDatabaseFieldsInfo.obtainInfo(CDatabaseFieldsInfo.java:134)
at com.mercury.optane.core.db.CDatabaseFieldsInfo.<init>(CDatabaseFieldsInfo.java:67)
at com.mercury.optane.core.db.CAbsTablesStructDirectory.createDirectoryItem(CAbsTablesStructDirectory.java:44)
at com.mercury.optane.core.directory.CAbsDirectory.getDirectoryItem(CAbsDirectory.java:80)
wrapped in com.mercury.optane.core.CTdException: Cannot build directory item for key '[qcsiteadmin_db@jdbc:mercury:sqlserver://zhiliangkz:1433(td)]' in SA Global Struct Dir
at com.mercury.optane.core.directory.CAbsDirectory.getDirectoryItem(CAbsDirectory.java:86)
at com.mercury.optane.core.db.CAbsTablesStructDirectory.getDatabaseFieldsInfo(CAbsTablesStructDirectory.java:27)
at com.mercury.td.saserver.sautil.CSaDbSchemaProperties.getDatabaseFieldsInfo(CSaDbSchemaProperties.java:114)
at com.mercury.optane.core.db.CAbsDBContext.isComparisonCaseSensitive(CAbsDBContext.java:178)
at com.mercury.optane.core.db.utils.CDbGeneralFunctions.dbLowerComparison(CDbGeneralFunctions.java:530)
at com.mercury.td.saserver.sautil.CSaServerGeneralFunctions.saDbLowerComparison(CSaServerGeneralFunctions.java:428)
at com.mercury.td.saserver.api.logics.CTdUserLogic.authenticateUserAgainstTdDB(CTdUserLogic.java:1121)
wrapped in com.mercury.optane.core.CTdException: Failed to check authentication of user 'admin'
at com.mercury.td.saserver.api.logics.CTdUserLogic.authenticateUserAgainstTdDB(CTdUserLogic.java:1145)
at com.mercury.td.saserver.api.logics.CTdUserLogic.checkUserPassword(CTdUserLogic.java:1062)
at com.mercury.td.saserver.api.logics.CSessionLogic.login(CSessionLogic.java:188)
at com.mercury.td.saserver.requests.Login.execute(Login.java:37)
at com.mercury.optane.core.web.RequestsDispatcher.execute(RequestsDispatcher.java:87)
wrapped in com.mercury.optane.core.CTdException: Failed to Login
at com.mercury.optane.core.web.RequestsDispatcher.execute(RequestsDispatcher.java:93)
at com.mercury.optane.core.web.CAbsServlet.executeFunction(CAbsServlet.java:548)
at com.mercury.optane.core.web.CAbsServlet.processRequest(CAbsServlet.java:540)
at com.mercury.optane.core.web.CAbsServlet.doPost(CAbsServlet.java:423)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.valves.FastCommonAccessLogValve.invoke(FastCommonAccessLogValve.java:481)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
其中,参考过论坛里的“qc服务器ip地址变了,无法打开”帖子,但是地址直接用机器名字访问,不是用ip地址。
哪位高手帮忙指点一下,很急呀! |
|