|
QC服务器为2003,jboss平台,所建项目一个域的项目采用的是sqlserver,另一个域下的项目用的oracle。在安装了vss版本控制补丁后。采用oracle数据库的域其中一个项目无法启动,后卸载补丁,问题仍旧存在,启动项目时弹出提示“"Failed to get Project Properties" ”详细信息内容如下- jdbc:mercury:oracle://qcserver:1521;sid=ora9
- Messages:
- Failed to Test Connection;
- Test connection failed;
- Cannot build directory item for key '[qualitymanager_dfshenma_db@jdbc:mercury:oracle://qcserver:1521;sid=ora9(qualitymanager_dfshenma_db)]' in TD Tables Struct Dir;
- Failed to fill table struct for table null in database qualitymanager_dfshenma_db@jdbc:mercury:oracle://qcserver:1521;sid=ora9(qualitymanager_dfshenma_db);
- [Mercury][Oracle JDBC Driver][Oracle]ORA-01017: invalid username/password; logon denied;
- Stack Trace:
- com.mercury.jdbc.base.BaseSQLException: [Mercury][Oracle JDBC Driver][Oracle]ORA-01017: invalid username/password; logon denied
- at com.mercury.jdbc.base.BaseExceptions.createException(Unknown Source)
- at com.mercury.jdbc.base.BaseExceptions.getException(Unknown Source)
- at com.mercury.jdbc.oracle.OracleImplConnection.connectAndAuthenticate(Unknown Source)
- at com.mercury.jdbc.oracle.OracleImplConnection.open(Unknown Source)
- at com.mercury.jdbc.base.BaseConnection.connect(Unknown Source)
- at com.mercury.jdbc.base.BaseConnectionStartup.run(Unknown Source)
- wrapped in com.mercury.optane.core.CTdException:
- at com.mercury.optane.core.db.CTdDriverManager.getConnection(CTdDriverManager.java:81)
- at com.mercury.optane.core.db.CConnectionPool.newConnection(CConnectionPool.java:624)
- at com.mercury.optane.core.db.CConnectionPool.tryToGetConnection(CConnectionPool.java:468)
- at com.mercury.optane.core.db.CConnectionPool.getConnection(CConnectionPool.java:293)
- at com.mercury.optane.core.db.CConnectionManager.getNotTransactedConnection(CConnectionManager.java:288)
- at com.mercury.optane.core.db.CConnectionManager.getConnection(CConnectionManager.java:266)
- at com.mercury.optane.core.db.CDatabaseFieldsInfo.obtainInfo(CDatabaseFieldsInfo.java:135)
- wrapped in com.mercury.optane.core.CTdException: Failed to fill table struct for table null in database qualitymanager_dfshenma_db@jdbc:mercury:oracle://qcserver:1521;sid=ora9(qualitymanager_dfshenma_db)
- at com.mercury.optane.core.db.CDatabaseFieldsInfo.obtainInfo(CDatabaseFieldsInfo.java:161)
- at com.mercury.td.CTdDatabaseFieldsInfo.obtainInfo(CTdDatabaseFieldsInfo.java:80)
- at com.mercury.optane.core.db.CDatabaseFieldsInfo.<init>(CDatabaseFieldsInfo.java:77)
- at com.mercury.td.CTdDatabaseFieldsInfo.<init>(CTdDatabaseFieldsInfo.java:58)
- at com.mercury.td.CTdTablesStructDirectory.createDirectoryItem(CTdTablesStructDirectory.java:167)
- at com.mercury.optane.core.directory.CAbsDirectory.getDirectoryItem(CAbsDirectory.java:81)
- wrapped in com.mercury.optane.core.CTdException: Cannot build directory item for key '[qualitymanager_dfshenma_db@jdbc:mercury:oracle://qcserver:1521;sid=ora9(qualitymanager_dfshenma_db)]' in TD Tables Struct Dir
- at com.mercury.optane.core.directory.CAbsDirectory.getDirectoryItem(CAbsDirectory.java:87)
- at com.mercury.td.CTdTablesStructDirectory.getDirectoryItem(CTdTablesStructDirectory.java:151)
- at com.mercury.optane.core.db.CAbsTablesStructDirectory.getDatabaseFieldsInfo(CAbsTablesStructDirectory.java:101)
- at com.mercury.td.saserver.directory.CProject.getProjectDbContext(CProject.java:1311)
- at com.mercury.td.saserver.api.logics.CAdminLogic.testConnection(CAdminLogic.java:610)
- wrapped in com.mercury.optane.core.CTdException: Test connection failed
- at com.mercury.td.saserver.api.logics.CAdminLogic.testConnection(CAdminLogic.java:624)
- at com.mercury.td.saserver.web.CTdSiteAdminServlet.redirectTestConnection(CTdSiteAdminServlet.java:736)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- at java.lang.reflect.Method.invoke(Method.java:324)
- at com.mercury.optane.core.web.CAbsServlet.executeFunction(CAbsServlet.java:554)
- wrapped in com.mercury.optane.core.CTdException: Failed to Test Connection
- at com.mercury.optane.core.web.CAbsServlet.executeFunction(CAbsServlet.java:560)
- at com.mercury.optane.core.web.CAbsServlet.processRequest(CAbsServlet.java:535)
- at com.mercury.optane.core.web.CAbsServlet.doPost(CAbsServlet.java:418)
- 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:534)
复制代码 采用oracle的另一个项目可正常启动,在DB Server标签中测试其链接正常,但在有问题的项目中测试链接却失败。通过错误提示分析,感觉像是用户名密码的问题,但对比之前备份的dbid.xml,并没有什么变化。
看到08年kasimxiao的【QC 还原项目】的帖子,其中提到“2.查询分析器进入qcsiteadmin_db,输入:sp_change_users_login 'report',可以看到td用户被孤立,还原数据库后无法登录qc都是因为td用户被孤立了,输入:sp_change_users_login 'update_one','td','td',使登录用户和数据库的孤立用户对应起来。
(完成后进入qc后台可以看到所有用户、域以及项目都显示出来了,剩下的只需要还原每一个项目的数据库)”
请问在oracle中如何操作?
[ 本帖最后由 softpk 于 2009-5-21 01:28 编辑 ] |
|