问题标签 [multi-database]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
89 浏览

aspnetboilerplate - 同一方法中的多数据库

我的应用程序有 2 个数据库,Db1(有表dbo.Student)和Db2(有表dbo.School)。我创建了 2 个 AppService 来访问它们当我尝试从它们两者中获取数据时,它只使用到(在当前上下文中Db1找不到表)的连接。dbo.School那么如何同时从 Db1 和 Db2 获取数据

更新1:我试图在学生之前获得学校并面临以下错误:传入的交易与当前连接无关。只能使用与当前连接关联的事务。

0 投票
1 回答
1224 浏览

java - @MapperScan 和 @Bean MapperScannerConfigurer 的区别

我有一个具有以下技术的多数据源 Web 应用程序:

  • 春季启动 1.5.12
  • Mybats-Spring-boot-starter 1.3.2

我更喜欢基于 Java 的配置。因此,我有 Datasource1Config.java 和 Datasource2Config.java。

我分别定义了 SqlSessionTemplate,并使用 MapperScannerConfigure 来注入我的映射器。以下是datasource1,datasource2只是替换数字。

然后,错误发生了

但是,如果我如下使用@MapperScan 注入映射器,一切都会正常工作。(当一个使用@MapperScan 而另一个使用@Bean MapperScannerConfigurer 时也可以正常工作)

我尝试使用调试模式进行跟踪并在互联网上搜索了很多文章,但仍然无法得到答案。那么如果有人可以帮助我吗?

谢谢你的时间。

0 投票
2 回答
1206 浏览

mysql - Travis:如何针对不同的 MySQL 后端运行测试?

如何使用一个 .travis.yml 文件针对不同的 MySQL 后端运行测试?

这里的东西,使用matrix->include. 例如:

  • 针对 MySQL 5.5 运行测试
  • 针对 MySQL 5.6 运行测试
  • 针对 MySQL 5.7 运行测试
  • 针对 MySQL 8.0 运行测试

我目前发现的是:

后面提到

您还可以在启用 sudo 的 Ubuntu Trusty 上安装 MySQL 5.7。

但没有提到如何使用 5.6 和 5.7 的例子。

可能的解决方法(如果没有“Travis”方法来解决它):

  1. 方法:创建不同的 Docker 设置,每个设置都有特定的 MySQL 版本并手动测试我的脚本。但这会使我的开发环境非常膨胀并且非常耗时。

  2. 根据相关的环境变量(例如 MYSQL_VERSION == 5.5),从源/通过 apt 安装所需的 MySQL 服务器。使用某些配置来访问它。

感谢您的反馈意见!

0 投票
1 回答
1133 浏览

spring-boot - springboot2.0集成hikariCP2.7.9,抛出“默认事务隔离级别检测失败(代理警告-靠近“。”:语法错误)。”

HikariCP 版本:2.7.9 JDK 版本:1.8.0_111 数据库:MySQL

例外

HikariPool-1 - 池初始化期间出现异常。2018-06-28 21:09:36.545 WARN 35084 --- [nio-8008-exec-2] czhpPoolBase:HikariPool-1 - 默认事务隔离级别检测失败(代理警告 - 靠近“.”:语法错误)。java.sql.SQLException:代理警告 - 靠近“。”:com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)处的语法错误〜[mysql-connector-java-5.1.46.jar:5.1.46 ] 在 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3976) ~[mysql-connector-java-5.1.46.jar:5.1.46] 在 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java :3912) ~[mysql-connector-java-5.1.46.jar:5.1.46] at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) ~[mysql-connector-java-5.1.46. jar:5.1.46] 在 com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) ~[mysql-connector-java-5.1.46.jar:5.1.46] 在 com.mysql.jdbc。

我的项目使用springboot 2.0,默认集成hikari 2.7.9。

配置自定义数据源:

配置属性 application.yaml: spring: datasource: datasource-xxorder: type: com.zaxxer.hikari.HikariDataSource name: datasource-xxorder url: jdbc:mysql://{$host}:{$port}/db?characterEncoding= UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull 用户名:userxx 密码:pwdxx 驱动程序类名:com.mysql.jdbc.Driver

我调试了源代码,发现上面抛出异常的代码:

我发现连接只有一个名为“isolationLevel”的属性,而不是“transactionIsolation”,并且 getTransactionIsolation 总是会出现异常。

然后我将它与德鲁伊进行比较。德鲁伊可以跳过这个异常。并连接,执行sql操作成功。德鲁伊的代码:

我想知道在用mybatis配置访问mysql时如何让hikariCP和springboot一起正常工作?有什么建议吗?

谢谢。

0 投票
1 回答
1196 浏览

asp.net-core-2.0 - 如何在 Asp.NET ZERO / Boilerplate 中迁移租户数据库和主机数据库?

我正在为我当前的项目使用带有 ASP.NET Core 和 Angular 的 ASP.NET ZERO 框架。

我还在使用 ASP.Net ZERO 的“MultiTenancy - MultiDatabase”功能。

在应用程序中,我在创建新租户时添加了一个“Tenant1-Database”连接字符串。

在此处输入图像描述

现在我有两个数据库:

  1. 主机数据库
  2. Tenant1-数据库

当我创建新租户时,“Tenant1-Database”会根据以前的迁移文件自动更新。

但是,当我使用新属性更新模型并尝试使用代码优先方法迁移数据库时,我看到“Host-Database”是唯一使用新属性迁移的数据库,而 Tenant1-Database 未迁移。

我的问题是:如何使用单个迁移文件迁移到两个数据库?

0 投票
0 回答
546 浏览

java - Spring Boot 池化数据库与多个数据库的连接

我正在尝试使用连接池配置多数据库应用程序。我在 application.properties 中定义了数据源 bean:

然后我创建了 3 个配置类来定义每个数据源:

如您所见,我已经建立了数据源类型和其他参数来配置我的连接池,但是当我运行我的应用程序时,连接数始终为 10。¿任何想法?

提前致谢!!

0 投票
0 回答
209 浏览

spring-boot - springboot mybatis 多数据源

对于配置拖车数据源,我在我的 .xml 中配置拖车 MapperScannerConfigurer:

但是当我运行我的应用程序时,会出现错误: 在此处输入图像描述 所以我在MapperScannerConfigurer中找到了关于sqlSessionTemplateBeanName的源代码,它显示: 在此处输入图像描述

看来我的用法没有错,那么当使用 xml 文件配置多数据源时,我该怎么做才能解决这个问题,我的错误在哪里?谢谢~

0 投票
1 回答
127 浏览

c# - 如何在 C# 中连接多台服务器和数据库

这是我的代码

我的目标是当我搜索这个文件名时,它将从不同的服务器搜索整个数据库。例如,如果找不到,它将在服务器 1 数据库上搜索,如果找到,它将继续到下一个服务器 2 数据库到服务器 3 数据库,它会给我 datagridview 中的结果

0 投票
1 回答
141 浏览

mysql - 如何使用 mysql 在许多相同的基于模式的数据库上管理模式更改?

我正在开发一个网络平台来管理我所在地区学校的学生注册。为此,我在 MySQL (5.7.19) 上运行了 17 个数据库,其中一个是主数据库,另外 16 个代表学校。学校数据库(必须)具有完全相同的模式,每个模式都包含对应于相关学校的数据。我以这种方式分开以避免延迟,因为每所学校可以注册许多应用程序(平均 16k),因此请求可能会随着时间的推移而变得更重。

现在我有一个严重的问题:当我更改学校数据库的架构时,我必须手动为其他学校的数据库做,以保持架构的一致性,因为我的 sql 请求是独立于学校发出的。例如,如果我在 database_school5 的 table_b 中添加一个新字段,我必须在所有剩余数据库的 table_b 上手动执行相同的操作。

我可以做些什么来有效地管理这些变化?有自动解决方案吗?是否有适合此问题的 DBMS?

有人告诉我,PostgreSQL 可以通过 INHERITANCE 轻松实现这一点,但这仅涉及表,除非我做了一些糟糕的研究。

我希望每次对数据库模式进行更改时,无论是添加表、添加字段、删除字段、添加约束等,更改都会自动传输到其他数据库。

提前致谢。

0 投票
2 回答
1737 浏览

database - 大型 WordPress 数据库

我的数据库大小超过 10GB,这会降低网站速度。我想拆分它并将这些数据库分离到专用服务器。我正在使用 MariaDB。

如何拆分 WordPress 数据库?