首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL工作台:从SQL迁移到MySQL时的TypeError

MySQL工作台:从SQL迁移到MySQL时的TypeError
EN

Stack Overflow用户
提问于 2016-03-17 13:58:20
回答 1查看 734关注 0票数 0

我正在尝试将一些数据从SQL 16数据库迁移到MySQL中,以便将数据转换成一种可行的格式。我在跟踪本教程

在迁移过程中,我遇到以下错误。以下日志消息导致Reverse engineer selected schemas失败:

代码语言:javascript
复制
Starting...    
Connect to source DBMS...    
- Connecting...    
Connect to source DBMS done    
Reverse engineer selected schemas....    
Reverse engineering [dbname] from [dbname]    
- Reverse engineering catalog information    
Traceback (most recent call last):    
  File "C:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\db_sqlanywhere_re_grt.py", line 489, in reverseEngineer    
    return SQLAnywhereReverseEngineering.reverseEngineer(connection, catalog_name, schemata_list, context)    
  File "C:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\db_sqlanywhere_re_grt.py", line 169, in reverseEngineer    
    catalog = super(SQLAnywhereReverseEngineering, cls).reverseEngineer(connection, '', schemata_list, context)    
  File "C:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\db_generic_re_grt.py", line 237, in reverseEngineer    
    catalog = cls.reverseEngineerCatalog(connection, catalog_name)    
  File "C:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\db_generic_re_grt.py", line 388, in reverseEngineerCatalog    
    cls.reverseEngineerUserDatatypes(connection, catalog)    
  File "C:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\db_sqlanywhere_re_grt.py", line 41, in wrapped_method    
    res = method(cls, connection, *args)    
  File "C:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\db_sqlanywhere_re_grt.py", line 192, in reverseEngineerUserDatatypes    
    if cls.serverVersion().majorNumber < 12:    
    TypeError: serverVersion() takes exactly 2 arguments (1 given)    

Traceback (most recent call last):    
  File "C:\Program Files\MySQL\MySQL Workbench 6.3 CE\workbench\wizard_progress_page_widget.py", line 192, in thread_work    
    self.func()    
  File "C:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\migration_schema_selection.py", line 175, in task_reveng    
    self.main.plan.migrationSource.reverseEngineer()    
  File "C:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\migration.py", line 369, in reverseEngineer    
    self.state.sourceCatalog = self._rev_eng_module.reverseEngineer(self.connection, self.selectedCatalogName, self.selectedSchemataNames, self.state.applicationData)    
    SystemError: TypeError("serverVersion() takes exactly 2 arguments (1 given)"): error calling Python module function DbSQLAnywhereRE.reverseEngineer    
ERROR: Reverse engineer selected schemas: TypeError("serverVersion() takes exactly 2 arguments (1 given)"): error calling Python module function DbSQLAnywhereRE.reverseEngineer    
Failed

这似乎是Python模块本身的一个错误,所以我完全不知道如何修复它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-17 15:03:48

实际上,您在迁移向导中发现了一个bug。请在http://bugs.mysql.com填写错误报告。同时,您可以通过在文本编辑器中打开文件C:\Program \MySQL\MySQL Workbench 6.3 CE\modules\db_sqlanywhere_re_grt.py来解决这个问题,转到第192行并更改行:

如果cls.serverVersion().majorNumber < 12:

如果cls.serverVersion(连接).majorNumber< 12:

然后保存文件并再次运行迁移向导。编辑时要小心,这是python文件,所以in中的每个空格都有问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36062723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档