当前位置: 首页 > 知识库问答 >
问题:

未找到SQLException pg\u get\u serial\u序列

商辰钊
2023-03-14

我正在尝试用H2进行JUnit测试,我的应用程序配置为与PostgreSQL和ACL的Spring Boot一起使用。

因此,我必须在应用程序中添加以下两行:

`mutableAclService.setClassIdentityQuery("select currval(pg_get_serial_sequence('acl_class', 'id'))");
mutableAclService.setSidIdentityQuery("select currval(pg_get_serial_sequence('acl_sid', 'id'))");`

创建AclService。

我有application.properties配置spring.datasource.url=jdbc: h2:~/test_db; MODE=PostgreSQL

但它总是回报我:

组织。springframework。jdbc。未分类SQLException:StatementCallback;SQL的未分类SQLException[选择currval(pg\u get\u serial\u sequence('acl\u sid',id')];SQL状态[90022];错误代码[90022];未找到函数“PG\u GET\u SERIAL\u SEQUENCE”;SQL语句:选择currval(pg\u get\u serial\u sequence('acl\u sid',id')[90022-197];嵌套异常为org。h2.jdbc。JdbcSQLException:未找到函数“PG\u GET\u SERIAL\u SEQUENCE”;SQL语句。。。

有人知道怎么修吗?

共有1个答案

邹高懿
2023-03-14

替换

"select currval(pg_get_serial_sequence('acl_class', 'id'))"

对于SQL标准查询

"SELECT CURRVAL(SELECT SEQUENCE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'acl_class' AND COLUMN_NAME = 'id')"

它起作用了!

 类似资料:
  • uGet 是使用 GTK+ 编写的开源文件下载管理器。

  • 我正在开发一个应用程序,用于连接基于HFP(BluetoothHeadset)协议的蓝牙设备。 蓝牙耳机通过蓝牙HFP发送AT(ACTION\u VENDOR\u SPECIFIC\u headset\u EVENT)指令。我已经成功地建立了设备之间的连接。 我已经写了一个广播接收器,并在舱单上登记了它。 上述接收器适用于广播中提及的所有动作和触发器,但 “android.bluetooth.he

  • com.fasterxml.jackson.databind.jsonMappingException:未发现用于java.io.BufferedReader类的序列化程序,也未发现用于创建BeanSerializer的属性(为了避免异常,禁用SerializationFeature.fail_on_empty_beans)(通过引用链:pj.core.bean.actionResult[“dat

  • 使用上述配置,我能够在localhost启动应用程序使用dev_appserver.py.它localhost:8080index.html静态文件夹内提供服务。然而,当我部署应用程序时,fooapp.appspot.com结果为404。我在日志中看到下面的消息。未找到处理程序引用的静态文件:静态/index.html

  • 2:在odbcDriverConnect(con,...)中:ODBC连接失败 如果在64位R(R console或Rstudio)中运行,将返回以下错误: 警告消息:1:在odbcDriverConnect(con,...)中:[RODBC]错误:状态IM003,代码160,由于系统错误126:找不到指定的模块,无法加载消息指定的驱动程序。(Microsoft Access驱动程序(*.mdb,