我在 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
提交
取消