我整天都在做这个,现在我被困住了,所以希望有人可以帮助我:)
挑战。
将数据从 MS SQL 迁移到 MySQL。
我收到的 MS SQL 作为 bak 文件,我在装有 Windows 7 家庭版的 PC 上使用 SQL Server Management Studio 恢复了该文件。
我在网络服务器上创建了一个源 MySQL 数据库,运行 LAMP。
解决方案(也许)我目前正在尝试转换数据库,最初只是一个用于测试的表,使用 MySQL Workbench 和 database->migrate 向导,但现在我被困在 Bulk Data Transfer 中。我希望这一步能够在我的 MySQL 数据库中创建表并传输数据,但这永远不会发生。
对于源,我选择 Connection Method = ODBC (native) 连接到源数据库和目标数据库没有问题
我选择将架构信息保留为表前缀,因此导入的表如下所示:database.dbo_table_name
迁移步骤成功(迁移选定对象并生成 SQL 创建语句)
如果我不编辑它们,则 Create 语句看起来像这样 CREATE TABLE IF NOT EXISTS 'restored_database_name'.'dbo_table_name' ...我认为 'restored_database_name' 部分会导致权限错误。如果我直接在 phpMyAdmin 中的 SQL 选项卡中键入它,它会执行此操作。因此,我将其更改为: CREATE TABLE IF NOT EXISTS 'dbo_table_name' ...
同样默认情况下,这是 SQL 的一部分: DROP SCHEMA IF EXISTS 'restored_database_name'; CREATE SCHEMA IF NOT EXISTS 'restored_database_name ... 我认为这也会导致一些权限问题,所以我将这些注释掉了。
在下一步中,我取消选中“在目标 RDBMS 中创建模式”,因为我认为我不想要这个。
问题:接下来的步骤没有什么有趣的,但是在“批量数据传输”中我收到了这个错误:错误:'restored_database_name'。'dbo_database_name':mysql_stmt_prepare:SELECT 命令拒绝用户 'mysql_user_name'@host' 用于表 'dbo_database_table_name。已完成复制 0 行。
我认为该错误与目标数据库的权限有关。我想知道是否可以制作 sql 文件,不仅可以使用 create table 命令,还可以使用 INSERT 命令,这样我就可以使用 sql 并使用命令行或 phpmyadmin 导入它。
我正在使用 Workbench 5.2 CE
任何帮助表示赞赏