我在 Ubuntu 16.04 上的 Spring Java 应用程序无法从服务器连接到 postgresql 数据库。但是,数据库肯定存在(见图1),所以我可以从PGAdmin或其他查询工具查询数据库。此外,Spring Java 应用程序可以在本地环境中连接到数据库。有谁知道为什么会出现这个问题以及如何解决?版本信息。- Postgresql:10.4 - Java:9 - Postgresql JDBC 驱动程序:42.1.4错误日志如下:[ERROR][21:14:34][DashboardController.exp():460] Gloal exception Handlerorg.cboard.exception.CBoardException: ERROR:FATAL: database "foodmart2" does not exist at org.cboard.services.DataProviderService.queryAggData(DataProviderService.java:70)at org.cboard.services.DataProviderService$$FastClassBySpringCGLIB$$6fb5206b.invoke(<generated>)at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:721)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)at org.cboard.services.role.DataProviderRoleService.query(DataProviderRoleService.java:45)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:629)at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:618)at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
2 回答
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
对不起。这个问题是由于我对应用程序结构的了解不够。
还有一个我不知道的数据库连接点。
最初,应用程序是通过 Spring MyBatis 连接到数据库的。但是,还有一个使用JDBC的内部连接点,我并没有完全认出它。
JDBC url 被定义为 localhost;它应该是我的服务器地址。我更改了JDBC url,问题解决了。
添加回答
举报
0/150
提交
取消