3

长期潜伏者,第一次海报;希望任何人都可以帮助我。

我使用 MySQL Workbench 5.2.41 将数据库从 SQL Server 迁移到 MySQL 5.0.8

整个过程顺利进行:SQL 和 MySQL 连接测试都很好,skemea 和表按预期创建,一切都检查到“批量数据传输”步骤。那时我收到此错误:

...
Migrating data...
wbcopytables.exe --odbc-source=DSN=SQL Server 11;DATABASE=;UID=sa --target=root@127.0.0.1:3306 --progress --passwords-from-stdin --thread-count=1 --table [GSAClosers_v2] [dbo].[AccountBase] `dbo` `AccountBase`
`dbo`.`AccountBase`:Copying 84 columns of 169530 rows from table [GSAClosers_v2].[dbo].[AccountBase]

ERROR: `dbo`.`AccountBase`:SQLGetData: HY009:10:[Microsoft][ODBC Driver Manager] Invalid argument value `dbo`.`AccountBase`:

Finished copying 0 rows in 0m00s
Copy helper has finished
...

对于连接器,我使用 Microsoft SQL Server/ODBC 数据源/DSN:SQL Server,对于 MySQL,使用 IP 和端口(3306)。

SQL Server 2012 Management Studio 连接并且所有操作都按预期工作。

哦,不是:两者都在同一台本地主机上。

如果有人能对此有所了解,我将永远感激不尽。提前致谢

4

3 回答 3

2

这里

[Microsoft][ODBC Driver Manager] 参数值无效。关于您提供的错误消息和代码,这似乎是数据库无效或无法访问。这意味着要么数据库不存在,要么用户没有访问数据库的权限。

原来您需要在服务器名称之后指定实例,因此在创建 ODBC 数据源的对话框中的服务器名称中,您必须将其输入为:MyServer\SQLEXPRESS 或 .\SQLEXPRESS

于 2012-08-03T06:49:29.917 回答
1

我认为您可能在从wbcopytables.exe. 请记住,这是一个单独的工具,因此您可以从迁移向导的其余部分进行连接这一事实并不意味着您将在wbcopytables.exe.

我最担心的是你的 DSN 有空格字符。这可能会被 Windows 终端解释为独立的命令行参数。您可以做的一件事是编辑您的 DSN 名称,删除空格并重试。

您可能还想在没有 DSN 的情况下进行连接,方法是按照我的博客文章中的说明明确放置所有连接参数:How-To: Guide to Database Migration from Microsoft SQL Server using MySQL Workbench

而且,顺便说一句,既然MySQL Workbench 5.2.42已经发布,你应该去拿它。迁移向导是相当新的,因此重要的错误修复可能会在每个最近的 Workbench 版本中启动。

在任何一种情况下,我认为你应该提交一个关于你的问题的错误,并详细解释如何重现它、可能的解决方案等。

希望这可以帮助。

于 2012-08-30T12:39:24.970 回答
0

好的,明白了:卸载java。安装 java 1.6,使用 MySQL 迁移工具。将所有数据类型更改为 varchar、int 和 bits。运行迁移......吃数据。

于 2012-08-31T19:32:50.437 回答