首页 > 解决方案 > 将 Google Cloud Spanner 与 Liquibase 连接

问题描述

我正在尝试使用可以与 Google Cloud Spanner 连接的 Liquibase 实现创建容器。

我收到以下错误:

引起:com.google.cloud.spanner.SpannerException:INVALID_ARGUMENT:io.grpc.StatusRuntimeException:INVALID_ARGUMENT:使用 INFORMATION_SCHEMA 的查询中不支持的并发模式。

我到处搜索,但没有任何实质性的东西来理解可能是什么问题。

标签: liquibasegoogle-cloud-spannerdatabase-versioning

解决方案


我假设您使用的是官方的 Google 开源 JDBC 驱动程序

您收到的错误表明您正在尝试在INFORMATION_SCHEMA读/写事务处于活动状态时查询表。您应该切换到自动提交模式或只读事务。您可以使用以下 SQL 语句之一或通过代码设置适当的模式来执行此操作:

  1. 切换到自动提交:SET AUTOCOMMIT=TRUE
  2. 切换到只读:SET READ ONLY=TRUE

只打开这两种模式中的一种就足够了,但同时打开这两种模式也应该有效。

如果这不起作用,或者我最初的假设不正确:您能否分享一些有关您正在使用的 JDBC 驱动程序以及如何连接到数据库的更多信息?

附加信息:现在有一个基于社区的 Cloud Spanner Liquibase 集成:https ://github.com/cloudspannerecosystem/liquibase-spanner


推荐阅读