hppys 发表于 2024-1-22 18:04:25

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


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))}
        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))}
        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
      }
]



xadmin 发表于 2024-1-23 11:09:02

externalDataSources.json配置文件中在增加一项配置参数
"schema":"",

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

hppys 发表于 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格式不对

论坛管理员 发表于 2024-1-26 10:22:05


hppys 发表于 2024-1-26 10:33:55

好的,感谢你回复
页: [1]
查看完整版本: 想连接postgresql作为后端数据库,schema "x" does not exist