0

I'm attempting to migrate some data from a SQL Anywhere 16 database into MySQL to get the data into a workable format. I'm following this tutorial

In the middle of the migration I encounter the following error. Reverse engineer selected schemas failes with the following log message:

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

This seems to be an error with the Python module itself, so I'm at a complete loss as to how to fix it.

1 Answer 1

1

Indeed you have found a bug in migration wizard. Please fill bug report at http://bugs.mysql.com. In the meantime you can workaround this issue by open file C:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\db_sqlanywhere_re_grt.py in text editor, go to line 192 and change line:
if cls.serverVersion().majorNumber < 12:
to
if cls.serverVersion(connection).majorNumber < 12:
Then save file and run migration wizard again. Be careful with editing, this is python file so every space in idention have matter.

Sign up to request clarification or add additional context in comments.

2 Comments

Did you file a bug report?
@PhilipOlson Yup, I filled.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.