当我执行从SQLServer到mysql的迁移时,workbench中出现了以下错误

当我执行从SQLServer到mysql的迁移时,workbench中出现了以下错误,mysql,sql-server-2008,mysql-workbench,database-migration,Mysql,Sql Server 2008,Mysql Workbench,Database Migration,当我执行从SQLServer到mysql的迁移时,workbench中出现了以下错误 Starting... Connect to source DBMS... - Connecting to source... Connecting to Mssql@DRIVER=SQL Server;SERVER=IPAddress\SQLEXPRESS... Opening ODBC connection to DRIVER={SQL Server};SERVER=IPAddress\SQLEXPRESS

当我执行从SQLServer到mysql的迁移时,workbench中出现了以下错误

Starting...
Connect to source DBMS...
- Connecting to source...
Connecting to Mssql@DRIVER=SQL Server;SERVER=IPAddress\SQLEXPRESS...
Opening ODBC connection to DRIVER={SQL Server};SERVER=IPAddress\SQLEXPRESS;DATABASE={};UID=sa;PWD=XXXX;...
ERROR: Connection failed: No open connection to Mssql@DRIVER=SQL Server;SERVER=IPAddress\SQLEXPRESS
Traceback (most recent call last):
  File "C:\Program Files\MySQL\MySQL Workbench 6.2 CE\modules\db_mssql_grt.py", line 124, in connect
    con = db_driver.connect(connection, password)
  File "C:\Program Files\MySQL\MySQL Workbench 6.2 CE\workbench\db_driver.py", line 91, in connect
    connection = library.connect(connection_string, password=password)
pyodbc.Error: ('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied. (17) (SQLDriverConnect); [01000] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()). (67)')
Connecting to Mssql@DRIVER=SQL Server;SERVER=IPAddress\SQLEXPRESS...
Opening ODBC connection to DRIVER={SQL Server};SERVER=IPAddress\SQLEXPRESS;DATABASE={};UID=sa;PWD=XXXX;...
ERROR: Connection failed: No open connection to Mssql@DRIVER=SQL Server;SERVER=IPAddress\SQLEXPRESS
Traceback (most recent call last):
  File "C:\Program Files\MySQL\MySQL Workbench 6.2 CE\modules\db_mssql_grt.py", line 124, in connect
    con = db_driver.connect(connection, password)
  File "C:\Program Files\MySQL\MySQL Workbench 6.2 CE\workbench\db_driver.py", line 91, in connect
    connection = library.connect(connection_string, password=password)
pyodbc.Error: ('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied. (17) (SQLDriverConnect); [01000] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()). (67)')

Traceback (most recent call last):
  File "C:\Program Files\MySQL\MySQL Workbench 6.2 CE\workbench\wizard_progress_page_widget.py", line 66, in run
    self.func()
  File "C:\Program Files\MySQL\MySQL Workbench 6.2 CE\modules\migration_source_selection.py", line 443, in task_connect
    raise e
SystemError: Error("('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied. (17) (SQLDriverConnect); [01000] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()). (67)')"): error calling Python module function DbMssqlRE.connect
ERROR: Error during Connect to source DBMS: Error("('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied. (17) (SQLDriverConnect);
 [01000] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()). (67)')"): error calling Python module function DbMssqlRE.connect
ERROR: Exception in task 'Connect to source DBMS': SystemError('Error("(\'08001\', \'[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied. (17) (SQLDriverConnect); [01000] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()). (67)\')"): error calling Python module function DbMssqlRE.connect',)

Failed
有人能帮我解决这个问题吗


谢谢

您需要使用文本编辑器从您的站点尝试一些诊断

1)打开 C:\Program Files\MySQL\MySQL Workbench 6.2 CE\modules\db\u mssql\u grt.py文件,带记事本或记事本+,并在第174行附近您会发现一行如下所示:

 ver_string = execute_query(connection, "SELECT SERVERPROPERTY('ProductVersion')").fetchone()[0]
2) 改为:

ver_string = execute_query(connection, "SELECT CAST(SERVERPROPERTY('ProductVersion') AS VARCHAR)").fetchone()[0]
然后保存并重试。谢谢


参考资料:

您需要使用文本编辑器从您的站点尝试一些诊断

1)打开 C:\Program Files\MySQL\MySQL Workbench 6.2 CE\modules\db\u mssql\u grt.py文件,带记事本或记事本+,并在第174行附近您会发现一行如下所示:

 ver_string = execute_query(connection, "SELECT SERVERPROPERTY('ProductVersion')").fetchone()[0]
2) 改为:

ver_string = execute_query(connection, "SELECT CAST(SERVERPROPERTY('ProductVersion') AS VARCHAR)").fetchone()[0]
然后保存并重试。谢谢

参考: