mysql - 从 MS SQL Server 插入到 MySQL 数据库

标签 mysql sql sql-server

我想创建一个存储过程,将数据从 MSSQL 数据库表插入到我的 MySQL 数据库表中,反之亦然。我需要做什么才能做到这一点?

我研究了两种解决方案。

  1. 创建一个链接服务器,允许我使用 MSSQL 中的存储过程从 MySQL 写入和查询数据。

  2. MySQL 迁移工具包。这个选项怎么看起来有点矫枉过正,因为我只想在两者之间进行一些 INSERTS 和 SELECTS

所以我相信你,希望有人在过去遇到过类似的问题,并且会非常友好,并给我最好的方法来做到这一点。尤其是第一个选项行得通吗?

凡是帮助过我的人,我都会感激不尽。

编辑: 忘记提及它们位于不同的服务器(运行 debian 和 MS)

最佳答案

如果你想经常这样做

  • LinkedServerOPENQUERY 可能不错,如果您每个周期移动的记录不多的话。
  • Integration Services Package 如果您要移动大量数据(例如数千或数百万行),这是一个很好的解决方案。

您可以使用 SQL Server Agent 安排它们。

INSERT 对于 OPENQUERY 有点棘手:

INSERT INTO OPENQUERY (MYSQL, 'SELECT * FROM MySQL_Table')
SELECT * FROM dbo.SQLServer_Table

INSERT INTO OPENQUERY (MYSQL, 'SELECT * FROM MySQL_Table')
VALUES ('Value1', 'Value2', ...)

关于mysql - 从 MS SQL Server 插入到 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23805493/

相关文章:

mysql - 如何使用列中的逗号分隔字符串作为 MySQL IN 语句的值

SQL LIMIT 1 DESC 命令

mysql - SQL 将结果限制为前 50%

sql-server - 为什么Len函数可以使用索引?

sql - 使用内连接更新记录

Javascript 运行 PHP 函数来更新/插入 SQL

php - 从mysql数组中选择数据

php - 如何使用 Yii2 将模型数据和关系模型导出到 json?

sql-server - 有效地插入序列号 1-N 并重新编号重复项

mysql - 帮助 MySQL Procedure Nested IF ELSE statements