开发者社区> 问答> 正文

基于模式的多租户:不时获取“ java.sql.SQLException:未选择数据库”

我的代码是用Java编写的,并且使用Spring JDBC模板访问MySQL数据库。

我的系统是一个多租户,每个租户在MySQL中都有自己的专用架构(例如“ tenant_1”,“ tenant_2”等)。

这是初始化数据库连接的方式:

在引导过程中,我创建了一个暴露DataSourceTransactionManager的bean ,该bean 由配置有MySQL数据库的连接字符串(未指定架构)的DataSource初始化。

由于我的系统是多租户,因此对于每个请求,我都必须选择给定租户的架构。因此,典型查询如下所示:

1、“使用tenant_xxx” 2、.... 问题:

我不时地(1至数千次处决)

java.sql.SQLException:未选择数据库。

我仔细检查了我的代码-实际上,我总是在执行查询之前选择架构。

有任何想法吗?

Spring-最新版本(5.x) Java-11 MySQL(5.7),在本地MySQL和AWS Aurora上均已复制

展开
收起
垚tutu 2019-11-28 18:14:31 939 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载