Bug #77808 MySQL Workbench has problem connection to Exasol
Submitted: 23 Jul 2015 5:58 Modified: 2 Oct 2015 0:40
Reporter: Oli Sennhauser Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Workbench: Migration Severity:S2 (Serious)
Version:6.3.3/6.3.4 OS:MacOS
Assigned to: CPU Architecture:Any
Tags: exasol, migration, workbench

[23 Jul 2015 5:58] Oli Sennhauser
Description:
We wanted to extract structure and data of an Exasol database. Installing of the ODBC driver worked fine. But connecting to the Exasol database caused troubles:

How to repeat:
Starting...
Connect to source DBMS...
- Connecting to source...
Connect to source DBMS done
Check target DBMS connection...
- Connecting to target...
Reconnecting to Mysql@10.0.0.140:3306...
Connection restablished
Check target DBMS connection done
Retrieve schema list from source....
- Checking connection...
- Fetching catalog names...
Traceback (most recent call last):
  File "/Applications/MySQLWorkbench.app/Contents/Resources/plugins/db_generic_re_grt.py", line 715, in getCatalogNames
    return GenericReverseEngineering.getCatalogNames(connection)
  File "/Applications/MySQLWorkbench.app/Contents/Resources/plugins/db_generic_re_grt.py", line 193, in getCatalogNames
    return list(set(row[0] for row in cls.get_connection(connection).cursor().tables())) 
  File "/Applications/MySQLWorkbench.app/Contents/Resources/plugins/db_generic_re_grt.py", line 193, in <genexpr>
    return list(set(row[0] for row in cls.get_connection(connection).cursor().tables())) 
pyodbc.Error: ('HY000', '[HY000] [EXASOL][EXASolution driver]Character set conversion error or output buffer to small: Illegal byte sequence column 3, cursor position 751, codepage US-ASCII. (1) (SQLGetData)')

Traceback (most recent call last):
  File "/Applications/MySQLWorkbench.app/Contents/Resources/libraries/workbench/wizard_progress_page_widget.py", line 192, in thread_work
    self.func()
  File "/Applications/MySQLWorkbench.app/Contents/Resources/plugins/migration_source_selection.py", line 456, in task_fetch_schemata
    self.main.plan.migrationSource.doFetchSchemaNames(only_these_catalogs)
  File "/Applications/MySQLWorkbench.app/Contents/Resources/plugins/migration.py", line 250, in doFetchSchemaNames
    catalog_names = self.getCatalogNames()
  File "/Applications/MySQLWorkbench.app/Contents/Resources/plugins/migration.py", line 214, in getCatalogNames
    return self._rev_eng_module.getCatalogNames(self.connection)

SystemError: Error("('HY000', '[HY000] [EXASOL][EXASolution driver]Character set conversion error or output buffer to small: Illegal byte sequence column 3, cursor position 751, codepage US-ASCII. (1) (SQLGetData)')"): error calling Python module function DbGenericRE.getCatalogNames

ERROR: Retrieve schema list from source: Error("('HY000', '[HY000] [EXASOL][EXASolution driver]Character set conversion error or output buffer to small: Illegal byte sequence column 3, cursor position 751, codepage US-ASCII. (1) (SQLGetData)')"): error calling Python module function DbGenericRE.getCatalogNames

Failed

Suggested fix:
No clue. Somehow codepage US-ASCII made troubles...
[23 Jul 2015 6:00] Oli Sennhauser
We used the very newest Exasol ODBC driver: https://www.exasol.com/portal/display/DOWNLOAD/5.0
[29 Jul 2015 14:37] Milosz Bodzek
Thank you for bug report. Maybe try using UTF-8 encoding? Regarding to Exasol odbc documentation you can set up environment variable e.g. 
export LC_CTYPE=en_US.UTF-8
[2 Sep 2015 0:40] MySQL Verification Team
Changing need feedback for prior comment.
[2 Oct 2015 1:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".