问题标签 [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.
aspnetboilerplate - 同一方法中的多数据库
我的应用程序有 2 个数据库,Db1
(有表dbo.Student
)和Db2
(有表dbo.School
)。我创建了 2 个 AppService 来访问它们当我尝试从它们两者中获取数据时,它只使用到(在当前上下文中Db1
找不到表)的连接。dbo.School
那么如何同时从 Db1 和 Db2 获取数据
更新1:我试图在学生之前获得学校并面临以下错误:传入的交易与当前连接无关。只能使用与当前连接关联的事务。
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 时也可以正常工作)
我尝试使用调试模式进行跟踪并在互联网上搜索了很多文章,但仍然无法得到答案。那么如果有人可以帮助我吗?
谢谢你的时间。
mysql - Travis:如何针对不同的 MySQL 后端运行测试?
如何使用一个 .travis.yml 文件针对不同的 MySQL 后端运行测试?
像这里的东西,使用matrix->include
. 例如:
- 针对 MySQL 5.5 运行测试
- 针对 MySQL 5.6 运行测试
- 针对 MySQL 5.7 运行测试
- 针对 MySQL 8.0 运行测试
我目前发现的是:
- 在 Travis 中使用 MySQL 5.7:https ://gist.github.com/gocanto/46b8d39576f612f9c6b8b4ffb3efac98
- 有关如何在 Travis 上设置数据库的一般信息:https ://docs.travis-ci.com/user/database-setup/
后面提到
您还可以在启用 sudo 的 Ubuntu Trusty 上安装 MySQL 5.7。
但没有提到如何使用 5.6 和 5.7 的例子。
可能的解决方法(如果没有“Travis”方法来解决它):
方法:创建不同的 Docker 设置,每个设置都有特定的 MySQL 版本并手动测试我的脚本。但这会使我的开发环境非常膨胀并且非常耗时。
根据相关的环境变量(例如 MYSQL_VERSION == 5.5),从源/通过 apt 安装所需的 MySQL 服务器。使用某些配置来访问它。
感谢您的反馈意见!
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一起正常工作?有什么建议吗?
谢谢。
asp.net-core-2.0 - 如何在 Asp.NET ZERO / Boilerplate 中迁移租户数据库和主机数据库?
我正在为我当前的项目使用带有 ASP.NET Core 和 Angular 的 ASP.NET ZERO 框架。
我还在使用 ASP.Net ZERO 的“MultiTenancy - MultiDatabase”功能。
在应用程序中,我在创建新租户时添加了一个“Tenant1-Database”连接字符串。
现在我有两个数据库:
- 主机数据库
- Tenant1-数据库
当我创建新租户时,“Tenant1-Database”会根据以前的迁移文件自动更新。
但是,当我使用新属性更新模型并尝试使用代码优先方法迁移数据库时,我看到“Host-Database”是唯一使用新属性迁移的数据库,而 Tenant1-Database 未迁移。
我的问题是:如何使用单个迁移文件迁移到两个数据库?
java - Spring Boot 池化数据库与多个数据库的连接
我正在尝试使用连接池配置多数据库应用程序。我在 application.properties 中定义了数据源 bean:
然后我创建了 3 个配置类来定义每个数据源:
如您所见,我已经建立了数据源类型和其他参数来配置我的连接池,但是当我运行我的应用程序时,连接数始终为 10。¿任何想法?
提前致谢!!
c# - 如何在 C# 中连接多台服务器和数据库
这是我的代码
我的目标是当我搜索这个文件名时,它将从不同的服务器搜索整个数据库。例如,如果找不到,它将在服务器 1 数据库上搜索,如果找到,它将继续到下一个服务器 2 数据库到服务器 3 数据库,它会给我 datagridview 中的结果
mysql - 如何使用 mysql 在许多相同的基于模式的数据库上管理模式更改?
我正在开发一个网络平台来管理我所在地区学校的学生注册。为此,我在 MySQL (5.7.19) 上运行了 17 个数据库,其中一个是主数据库,另外 16 个代表学校。学校数据库(必须)具有完全相同的模式,每个模式都包含对应于相关学校的数据。我以这种方式分开以避免延迟,因为每所学校可以注册许多应用程序(平均 16k),因此请求可能会随着时间的推移而变得更重。
现在我有一个严重的问题:当我更改学校数据库的架构时,我必须手动为其他学校的数据库做,以保持架构的一致性,因为我的 sql 请求是独立于学校发出的。例如,如果我在 database_school5 的 table_b 中添加一个新字段,我必须在所有剩余数据库的 table_b 上手动执行相同的操作。
我可以做些什么来有效地管理这些变化?有自动解决方案吗?是否有适合此问题的 DBMS?
有人告诉我,PostgreSQL 可以通过 INHERITANCE 轻松实现这一点,但这仅涉及表,除非我做了一些糟糕的研究。
我希望每次对数据库模式进行更改时,无论是添加表、添加字段、删除字段、添加约束等,更改都会自动传输到其他数据库。
提前致谢。
database - 大型 WordPress 数据库
我的数据库大小超过 10GB,这会降低网站速度。我想拆分它并将这些数据库分离到专用服务器。我正在使用 MariaDB。
如何拆分 WordPress 数据库?