我正在尝试使用Liquibase实现创建容器,该容器可以与Google Cloud Spanner连接。
我遇到以下错误:
原因:com.google.cloud.spanner.SpannerException:INVALID_ARGUMENT:io.grpc.StatusRuntimeException:INVALID_ARGUMENT:使用INFORMATION_SCHEMA进行查询时不支持并发模式。
我到处搜索过,但没有任何实质内容来了解可能是什么问题。
我正在尝试使用Liquibase实现创建容器,该容器可以与Google Cloud Spanner连接。
我遇到以下错误:
原因:com.google.cloud.spanner.SpannerException:INVALID_ARGUMENT:io.grpc.StatusRuntimeException:INVALID_ARGUMENT:使用INFORMATION_SCHEMA进行查询时不支持并发模式。
我到处搜索过,但没有任何实质内容来了解可能是什么问题。
我假设您正在使用official Google Open Source JDBC driver。
您收到的错误表明您正在尝试在读/写事务处于活动状态时查询INFORMATION_SCHEMA
表。您应该切换到自动提交模式或只读事务。您可以使用以下SQL语句之一,或通过代码设置适当的模式来做到这一点:
SET AUTOCOMMIT=TRUE
SET READ ONLY=TRUE
仅打开这两种模式之一就足够了,但同时打开这两种模式也应起作用。
如果这不起作用,或者我的最初假设不正确:是否可以共享一些有关正在使用哪个JDBC驱动程序以及如何连接到数据库的信息?
其他信息:以下是针对Cloud Spanner的基于社区的Liquibase集成:https://github.com/cloudspannerecosystem/liquibase-spanner