本站所搜集的资源均来源于网络,仅供学习研究代码使用,请勿商用
本站所有资源均免费下载无需付费。
登录账号后访问“个人中心”点击“我的余额”在右上角签到后即可免费下载
其资源在源站什么样下载就是什么样,并非本站制作发布,代码是否完整、是否有教程及使用说明需自行判断,本站不保证其资源可用。
本站所有资源均免费下载无需付费。
登录账号后访问“个人中心”点击“我的余额”在右上角签到后即可免费下载
其资源在源站什么样下载就是什么样,并非本站制作发布,代码是否完整、是否有教程及使用说明需自行判断,本站不保证其资源可用。
最近我继承了一个在 MSSQL 中构建的项目,需要转换为 MySQL。对于任何研究过这个的人,你会很快意识到这不是一个简单的转换。您可以尝试一些工具,也可以尝试手动方式。
## 先手动方式:
这涉及编写一个从 MSSQL 数据库读取并写入 MySQL 数据库的脚本,所有这些脚本都在同一个文件夹中:
对于我修改了 PDO Wrapper 的数据库调用,可以在 https://github.com/dcblogdev/pdo-wrapper/blob/mssql/src/Database.php 访问此版本
然后我将 db.php 包含到 config.php 文件中。为我称为“$old”的 MSSQL 和我称为 $new 的 MySQL 数据库设置凭据
<?php
require 'db.php';
$old_username = 'username';
$old_password = 'password';
$old_database = 'databasse';
$old_host = 'ip address';
$old_type = 'mssql';
$new_username = 'username';
$new_password = 'password';
$new_database = 'databasse';
$new_host = 'ip address';
$new_type = 'mysql';
$old = Database::get($old_username, $old_password, $old_database, $old_host, $old_type);
$new = Database::get($new_username, $new_password, $new_database, $new_host, $new_type);
然后我将 config.php 包含到我想要运行转换的任何文件中。
我截断了新表,以便可以根据需要运行脚本。接下来,我使用 $old 连接从表中选择所有记录,循环数据并使用 $new 连接插入 MySQL 数据库。
<?php
require 'config.php';
$new->truncate('car_parking');
$rows = $old->select("SELECT * from dbo.CarParking");
foreach ($rows as $row) {
$data = [
'id' => $row->CarParkingID,
'title' => $row->Title,
];
$new->insert('car_parking', $data);
}
在任何时候,我都可以在终端/命令提示符下运行它,方法是输入 php 后跟文件名,即`php carparking.php`
这将起作用,但如果您使用的是大型数据库,则为所有表编写查询将需要很长时间。
工具
您可以使用MySQL Workbench 来运行迁移向导。我发现设置起来相当复杂,而且进展缓慢,更糟糕的是,一些被视为错误格式的表格被完全遗漏了。
MS SQL 到 MySQL 转换器
MSSQL-to-MySQL 转换器还不错,假设两个数据库都在同一台机器上,设置简单。您可以直接转换为 MySQL 数据库或 SQL 文件。指定特定表或所有表。但是是付费的,试用版仅限于 50 条记录,您需要购买产品才能进行完整转换。49美元,可以节省工作时间。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。