2017-10-30 18 views
0

저장 용으로 oracle db를 사용하는 Spring MVC 애플리케이션이 있습니다. 나는 Tomcat에 SpringMVC.war을 배포했으며 잘 작동합니다. 나는 웹 로직에 내 응용 프로그램을 배포하고 때마다, 내가 오라클 DB에 이름이 "Asif123"이있는 계정을 가지고에서 "응용 프로그램의 context.xml"에 구성되어 다음과 같은 예외Weblogic 서버가 localhost에서 Oracle DB 계정에 액세스 할 수없는 이유는 무엇입니까?

Check this image for error

던지고 내 프로젝트이지만 Weblogic이 아닌 Tomcat에서만 액세스 할 수 있습니다.

응용 프로그램의 context.xml

<bean id="ds" class="org.springframework.jndi.JndiObjectFactoryBean"> 
    <property name="jndiName" value="java:/comp/env/ds1"/> 
</bean> 

성공적인 데이터 소스 테스트 :

successful datasource test

####<30-Oct-2017, 3:27:00,931 PM IST> <Error> <Deployer> <asif-dell> <AdminServer> <[STANDBY] ExecuteThread: '11' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <727e01e2-9cca-411b-8bc9-290fc833664e-00000014> <1509357420931> <[severity-value: 8] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-149265> <Failure occurred in the execution of deployment request with ID "155312441642365" for task "weblogic.deploy.configChangeTask.1" on [partition-name: DOMAIN]. Error is: "weblogic.application.ModuleException: java.sql.SQLException: Access denied for user 'asif123'@'localhost' (using password: YES)" 
weblogic.application.ModuleException: java.sql.SQLException: Access denied for user 'asif123'@'localhost' (using password: YES) 
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:411) 
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100) 
at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:192) 
at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:187) 
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45) 
at weblogic.application.internal.flow.ModuleStateDriver.prepare(ModuleStateDriver.java:37) 
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:77) 
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:55) 
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:727) 
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45) 
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:239) 
at weblogic.application.internal.SingleModuleDeployment.prepare(SingleModuleDeployment.java:52) 
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:158) 
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:65) 
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:229) 
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:103) 
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:241) 
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:794) 
at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1340) 
at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:235) 
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:177) 
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:186) 
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.prepare(DeploymentReceiverCallbackDeliverer.java:42) 
at weblogic.deploy.service.internal.statemachines.targetserver.AwaitingContextUpdateCompletion.callDeploymentReceivers(AwaitingContextUpdateCompletion.java:170) 
at weblogic.deploy.service.internal.statemachines.targetserver.AwaitingContextUpdateCompletion.handleContextUpdateSuccess(AwaitingContextUpdateCompletion.java:66) 
at weblogic.deploy.service.internal.statemachines.targetserver.AwaitingContextUpdateCompletion.contextUpdated(AwaitingContextUpdateCompletion.java:32) 
at weblogic.deploy.service.internal.targetserver.TargetDeploymentService.notifyContextUpdated(TargetDeploymentService.java:232) 
at weblogic.deploy.service.internal.DeploymentService$1.run(DeploymentService.java:210) 
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:666) 
at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348) 
at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333) 
at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54) 
at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41) 
at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:640) 
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:406) 
at weblogic.work.ExecuteThread.run(ExecuteThread.java:346) 
Caused By: java.sql.SQLException: Access denied for user 'asif123'@'localhost' (using password: YES) 
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1058) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:919) 
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1694) 
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1244) 
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2396) 
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2429) 
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2214) 
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:797) 
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:31) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
+0

예외는 이미지가 아닌 텍스트로 제공하십시오. – PaulNUK

+1

확인. weblogic 콘솔의 모든 행을 복사하여 복사해야합니까? –

+0

예, 링크가 사라질 수 있고 텍스트를 검색 할 수 없으므로 이미지에 추가하는 것이 좋습니다. – PaulNUK

답변

0

Oracle 데이터베이스에 연결할 때 MySQL의 오류 메시지를 받고 있다는 사실 약간의 단서가 될 수 있습니다.

Weblogic 데이터 소스 유형을 확인하십시오. Oracle DB에 대한 MySQL 연결로 잘못 구성 했습니까?

+1

해결되었습니다. 실제로 몇 달 전에 weblogic을 설정하는 동안 동일한 계정 "Asif123"을 가진 mysql과 oracle 데이터 소스를 구성했지만 그 기간이 지나면 mysql 계정 비밀번호가 변경되거나 만료되었을 수 있습니다. "mysqlds"를 삭제하면 내 응용 프로그램이 내 oracleds에 액세스 할 수 있습니다. 배포 된 응용 프로그램과 관련이없는 오래된 관리되지 않는 데이터 소스가 현재 응용 프로그램 배포에 문제를 일으킬 수 있다는 것을 알지 못했습니다. 내 관심을 가져 주셔서 감사합니다. –