通过将多个microsoft sql server数据库合并到一个mysql数据库,我们正在处理一个数据聚合项目。所有mssql数据库都具有相同的架构。
要求如下:
每个mssql数据库都可以独立导入mysql
在将每个记录导入mysql之前,我们需要通过php使用特定的createria验证每个记录。
每个导入的mssql数据库都可以回滚。这意味着即使它已经导入到mysql,所有的mssql数据库都可以从mysql中删除。
我们仍然想知道导入到mysql的每个记录来自哪个mssql数据库。
所有导入过程都将使用PHP完成。
我们在许多方面有困难。我们不知道什么是解决问题的最佳方法。
我们将非常感谢你的帮助。
ps:每个mssql数据库大约有60个表,每个表可以有几十万个。

最佳答案

不要将PHP用作数据库管理实用程序。任何时候,当您构建一个快速的PHP脚本来将记录从一个数据库直接传输到另一个数据库时,当该脚本成为生产操作所必需的时,您都会给自己造成伤害。
你有很多问题需要解决:
您有多个MSSQL数据库,这些数据库具有相似但不完全相同的表。
有一个MySQL数据库要将数据合并到其中。
导入的数据在合并之前必须以特定的方式进行更改。
要防止导入中的所有重复记录。
您想知道每个记录最初来自哪个数据库。
解决办法?
分析源MSSQL数据库并为其创建合并策略。
在MySQL数据库上创建一个符合#1中合并策略的数据库结构,包括合并所需的所有新的键约束(如唯一键和外键)。
此时,您还有两个选项:
使用您选择的RDBMS管理实用程序将每个源数据库中的数据转储到原始数据中。更改该数据以适应合并策略和约束。记录这些,然后将所有数据合并到新的数据库结构中。
使用类似opendbcopy的工具将列从一个数据库映射到另一个数据库并运行大规模导入。
希望这有帮助。

关于mysql - 用PHP将多个mssql数据库合并到一个mysql,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8904228/

10-10 17:50
查看更多