我正在尝试使用本地 tomcat 服务器在 Eclipse 中设置应用程序。它正在开始,但有错误。该错误与数据库中不存在的表有关。
!important
但是,如果我在查询中提供模式名称和表,它运行良好。我无法向整个应用程序中的查询添加模式名称。该应用程序在服务器中运行良好。有人可以建议一种方法来纠正这个问题。
编辑:我使用 context.xml 连接到数据库。
Caused by: org.postgresql.util.PSQLException: ERROR: relation "table" does not exist
答案 0 :(得分:0)
自 version 2.5.0(2018 年 7 月发布)以来,DBCP 2 向其数据源添加了 defaultSchema
属性。 Tomcat 在 version 9.0.11 和 version 8.5.33 中捡到了它。
因此,如果您运行最新版本的 Tomcat,您可以使用:
<Resource name="jdbc/DB" auth="Container"
url="jdbc:postgresql://localhost:5432/<DB_NAME>"
defaultSchema="<your_schema>"
...
有关使用 Tomcat JDBC Pool 的类似解决方案,请参阅 How to define the schema property in tomcat connection。