查看: 837|回复: 4

想连接postgresql作为后端数据库,schema "x" does not exist

升级   78.67%

8

主题

18

回帖

168

积分

注册会员

Rank: 2

积分
168
发表于 2024-1-22 18:04:25 | 显示全部楼层 |阅读模式

1.连接postgresql时出现如下报错:



Caused by: <openjpa-3.2.2-re5933d6 nonfatal general error> org.apache.openjpa.persistence.PersistenceExc
  Position: 14 {stmnt 1381532478 CREATE TABLE X.BBS_CONFIGSETTING (xid VARCHAR(64) NOT NULL, xcreateTimeonfigValue VARCHAR(255), xdescription VARCHAR(255), xisMultiple BOOL, xorderNumber INTEGER, xselectContence))} [code=0, state=3F000]
        at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:625)
        at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:488)
        at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:1
        at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:1
        at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:134)
        at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213)
        at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:166)
        at org.apache.openjpa.persistence.EntityManagerFactoryImpl.doCreateEM(EntityManagerFactoryImpl.j
        at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFact
        at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFact
        at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFact
        at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFact
        at com.x.base.core.container.factory.EntityManagerContainerFactory.createEntityManager(EntityMan
        ... 39 more

Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: ERROR: schema "x" does not exist
  Position: 14 {stmnt 1381532478 CREATE TABLE X.BBS_CONFIGSETTING (xid VARCHAR(64) NOT NULL, xcreateTimeonfigValue VARCHAR(255), xdescription VARCHAR(255), xisMultiple BOOL, xorderNumber INTEGER, xselectContence))} [code=0, state=3F000]
        at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:2
        at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:2
        at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$700(LoggingConnectionDecorator.
        at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingStatement.exe
        at org.apache.openjpa.lib.jdbc.DelegatingStatement.executeUpdate(DelegatingStatement.java:123)
        at org.apache.openjpa.jdbc.schema.SchemaTool.executeSQL(SchemaTool.java:1375)
        at org.apache.openjpa.jdbc.schema.SchemaTool.createTable(SchemaTool.java:1114)
        at org.apache.openjpa.jdbc.schema.SchemaTool.buildSchema(SchemaTool.java:660)
        at org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:565)
        at org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:400)
        at org.apache.openjpa.jdbc.schema.SchemaTool.run(SchemaTool.java:372)
        at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:571)
        ... 51 more


2.请问是不是要修改externalDataSources.json 配置文件添加什么参数
我的externalDataSources.json 配置文件如下:


[
        {
                "url":"jdbc:postgresql://192.168.221.159:5432/Y?autoReconnect=true&allowPublicKeyRetrieval=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8",
                "username" : "postgres",
                "password" :"123456",
                "includes": [],
                "excludes": [],
                "enable" : true
        }
]



回复

使用道具 举报

升级   100%

3

主题

1502

回帖

4933

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4933
发表于 2024-1-23 11:09:02 | 显示全部楼层
externalDataSources.json配置文件中在增加一项配置参数
"schema":"",

具体schema的值您可以用工具连接数据库查看,或者咨询下公司数据库管理员
回复

使用道具 举报

升级   78.67%

8

主题

18

回帖

168

积分

注册会员

Rank: 2

积分
168
发表于 2024-1-25 17:44:54 | 显示全部楼层
我是自己搭建的postgresql数据库,它默认schema应该是public,那我externalDataSources.json文件这样修改jdbc:postgresql://192.168.221.155:9999/Y?schema=public&autoReconnect=true&allowPublicKeyRetrieval=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
还是会出现上述问题,是我没有指定正确schema吗,还是url格式不对
回复

使用道具 举报

升级   100%

138

主题

1万

回帖

3万

积分

超级版主

Rank: 8Rank: 8

积分
37249
发表于 2024-1-26 10:22:05 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   78.67%

8

主题

18

回帖

168

积分

注册会员

Rank: 2

积分
168
发表于 2024-1-26 10:33:55 | 显示全部楼层
好的,感谢你回复
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread