liquibase - 将 Google Cloud Spanner 与 Liquibase 连接
问题描述
我正在尝试使用可以与 Google Cloud Spanner 连接的 Liquibase 实现创建容器。
我收到以下错误:
引起:com.google.cloud.spanner.SpannerException:INVALID_ARGUMENT:io.grpc.StatusRuntimeException:INVALID_ARGUMENT:使用 INFORMATION_SCHEMA 的查询中不支持的并发模式。
我到处搜索,但没有任何实质性的东西来理解可能是什么问题。
解决方案
我假设您使用的是官方的 Google 开源 JDBC 驱动程序。
您收到的错误表明您正在尝试在INFORMATION_SCHEMA
读/写事务处于活动状态时查询表。您应该切换到自动提交模式或只读事务。您可以使用以下 SQL 语句之一或通过代码设置适当的模式来执行此操作:
- 切换到自动提交:
SET AUTOCOMMIT=TRUE
- 切换到只读:
SET READ ONLY=TRUE
只打开这两种模式中的一种就足够了,但同时打开这两种模式也应该有效。
如果这不起作用,或者我最初的假设不正确:您能否分享一些有关您正在使用的 JDBC 驱动程序以及如何连接到数据库的更多信息?
附加信息:现在有一个基于社区的 Cloud Spanner Liquibase 集成:https ://github.com/cloudspannerecosystem/liquibase-spanner
推荐阅读
- snowflake-cloud-data-platform - 如何在雪花中获取完整的功能表并测试它是否正常工作
- woocommerce - coupon_lines 在 woocommerce REST API 中不起作用?
- python - Django Rest Framework 如何禁止用户更改用户名?
- c++ - 对使用 'typedef' 声明的函数使用 'override'
- java - 如何使用 MockIntegrationContext.substituteMessageHandlerFor 模拟 WebFluxRequestExecutingMessageHandler
- javascript - 每当我尝试从中调用方法时 Service 未定义
- php - 在 PHP 中获取用户的语言
- c# - FindPackagesForUser 方法可以找到什么样的应用程序
- java - 将图片存储在H2数据库spring boot thymleaf中
- docker - IoT-Edge edgeHub 模块退避状态