使用MySQL Workbench将MS SQL迁移到MySQL会导致权限错误

时间:2012-09-29 18:03:12

标签: mysql mysql-workbench database-migration

我一整天都在努力,现在我被卡住了,所以希望那里有人可以帮助我:)。

挑战。

将数据从MS SQL迁移到MySQL。

我收到的MS SQL作为bak文件,我在使用Windows 7 Home Edition的PC上使用SQL server management studio进行了恢复。

我在网络服务器上创建了一个源MySQL数据库,运行LAMP。

解决方案(可能) 我目前正在尝试转换数据库,最初只是一个用于测试的表,使用MySQL Workbench和数据库 - >迁移向导,但现在我陷入了批量数据传输。我希望这一步能在我的MySQL数据库中创建表并传输数据,但这种情况从未发生过。

对于源我选择连接方法= ODBC(本机) 连接到源数据库和目标数据库没有问题

我选择将架构信息保留为表前缀,因此导入的表格如下:database.dbo_table_name

迁移步骤成功(迁移所选对象和生成SQL创建语句)

如果我不编辑它们,Create语句看起来像这样 CREATE TABLE IF NOT NOT EXISTS'redored_database_name'。'dbo_table_name'...我认为'restored_database_name'部分会导致权限错误。如果我直接在phpMyAdmin中在SQL选项卡中输入它,它会这样做。因此我将其更改为: CREATE TABLE IF NOT NOT EXISTS'dbo_table_name'...

此外,默认情况下,这是SQL的一部分: DROP SCHEMA如果EXISTS'restored_database_name'; CREATE SCHEMA如果不是EXISTS'resified_database_name ... 我认为这也会引起一些许可问题,所以我对此进行了评论。

在下一步中,我取消选中“在目标RDBMS中创建架构”,因为我认为我不想这样做。

问题: 没有什么有趣的后续步骤,但然后在“批量数据传输”我得到此错误: 错误:'restored_database_name'。 'dbo_database_name':mysql_stmt_prepare:对表'dbo_database_table_name的用户'mysql_user_name'@ host'拒绝SELECT命令。 完成复制0行。

我认为错误与目标数据库的权限有某种关系。我想知道是否可以创建sql文件,不仅可以使用create table命令,还可以使用INSERT命令,这样我就可以使用sql并使用命令行或phpmyadmin导入它。

我正在使用Workbench 5.2 CE

感谢任何帮助

1 个答案:

答案 0 :(得分:1)

我已经看到你已经进入了Workbench的迁移向导。也许您只是遗漏了一些内容,因此我建议您查看此博客,以便验证您的步骤:How-To: Guide to Database Migration from Microsoft SQL Server using MySQL Workbench

不幸的是,您不能使用迁移向导数据复制命令行实用程序来生成包含所有插入的SQL文件,但我非常确定您可以从MS SQL Server Management Studio获取此文件,它应该非常适用于MySQL没有修改(或稍作修改)。