Bug #67831 TypeError: cannot concatenate 'str' and 'NoneType' objects
Submitted: 6 Dec 2012 20:48 Modified: 28 Feb 2017 15:20
Reporter: Willie Johnson Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Workbench: Migration Severity:S3 (Non-critical)
Version:5.2.44 CE OS:Windows (TypeError: cannot concatenate 'str' and 'NoneType' objects)
Assigned to: CPU Architecture:Any
Tags: MySQL CE

[6 Dec 2012 20:48] Willie Johnson
Description:
Received error while performing migration: TypeError: cannot concatenate 'str' and 'NoneType' objects

----------------------- LOGS ------------------------
Starting...

Connect to source DBMS...

- Connecting...

Connecting to Mysql@gator391.hostgator.com:3306...

Connected

Connect to source DBMS done

Reverse engineer selected schemata....

Reverse engineering hbirn_ODASoftwareDB from def

- Preparing...

- Preparing...

Reverse engineering tables from hbirn_ODASoftwareDB

- Retrieving table hbirn_ODASoftwareDB.EmailTemplates...

- Reverse engineering hbirn_ODASoftwareDB.EmailTemplates...

- Parsing MySQL SQL Script...

- Processing object: EmailTemplates

- Creating foreign key references...

- Finished parsing MySQL SQL script.

- Retrieving table hbirn_ODASoftwareDB.Emails...

- Reverse engineering hbirn_ODASoftwareDB.Emails...

- Parsing MySQL SQL Script...

- Processing object: Emails

- Creating foreign key references...

- Finished parsing MySQL SQL script.

- Retrieving table hbirn_ODASoftwareDB.Test...

- Reverse engineering hbirn_ODASoftwareDB.Test...

- Parsing MySQL SQL Script...

- Processing object: Test

- Creating foreign key references...

- Finished parsing MySQL SQL script.

- Retrieving table hbirn_ODASoftwareDB.Winks...

- Reverse engineering hbirn_ODASoftwareDB.Winks...

- Parsing MySQL SQL Script...

- Processing object: Winks

- Creating foreign key references...

- Finished parsing MySQL SQL script.

- Retrieving table hbirn_ODASoftwareDB.XXX...

- Reverse engineering hbirn_ODASoftwareDB.XXX...

- Parsing MySQL SQL Script...

- Processing object: XXX

- Creating foreign key references...

- Finished parsing MySQL SQL script.

- Retrieving table hbirn_ODASoftwareDB.rud3pProfileService...

- Reverse engineering hbirn_ODASoftwareDB.rud3pProfileService...

- Parsing MySQL SQL Script...

- Processing object: rud3pProfileService

- Creating foreign key references...

- Finished parsing MySQL SQL script.

- Retrieving table hbirn_ODASoftwareDB.rud3pService...

- Reverse engineering hbirn_ODASoftwareDB.rud3pService...

- Parsing MySQL SQL Script...

- Processing object: rud3pService

- Creating foreign key references...

- Finished parsing MySQL SQL script.

- Retrieving table hbirn_ODASoftwareDB.rudProfile...

- Reverse engineering hbirn_ODASoftwareDB.rudProfile...

- Parsing MySQL SQL Script...

- Processing object: rudProfile

- Creating foreign key references...

- Finished parsing MySQL SQL script.

- Retrieving table hbirn_ODASoftwareDB.rudProspect...

- Reverse engineering hbirn_ODASoftwareDB.rudProspect...

- Parsing MySQL SQL Script...

- Processing object: rudProspect

- Creating foreign key references...

- Finished parsing MySQL SQL script.

- Retrieving table hbirn_ODASoftwareDB.rudSearch...

- Reverse engineering hbirn_ODASoftwareDB.rudSearch...

- Parsing MySQL SQL Script...

- Processing object: rudSearch

- Creating foreign key references...

- Finished parsing MySQL SQL script.

- Retrieving table hbirn_ODASoftwareDB.rudSearchProspects...

- Reverse engineering hbirn_ODASoftwareDB.rudSearchProspects...

- Parsing MySQL SQL Script...

- Processing object: rudSearchProspects

- Creating foreign key references...

- Finished parsing MySQL SQL script.

Reverse engineering triggers from hbirn_ODASoftwareDB

Reverse engineering stored procedures from hbirn_ODASoftwareDB

- Retrieving stored procedure hbirn_ODASoftwareDB.GetAllTest...

- Reverse engineering hbirn_ODASoftwareDB.GetAllTest...

Traceback (most recent call last):

  File "C:\Program Files (x86)\MySQL\MySQL Workbench CE 5.2.44\modules\db_mysql_re_grt.py", line 294, in reverseEngineer

    grt.modules.MysqlSqlFacade.parseSqlScriptString(catalog, wrap_sql(wrap_routine_sql(sql), schema_name))

  File "C:\Program Files (x86)\MySQL\MySQL Workbench CE 5.2.44\modules\db_mysql_re_grt.py", line 237, in wrap_routine_sql

    return "DELIMITER $$\n"+sql

TypeError: cannot concatenate 'str' and 'NoneType' objects

Traceback (most recent call last):

  File "C:\Program Files (x86)\MySQL\MySQL Workbench CE 5.2.44\workbench\wizard_progress_page_widget.py", line 191, in thread_work

    self.func()

  File "C:\Program Files (x86)\MySQL\MySQL Workbench CE 5.2.44\modules\migration_schema_selection.py", line 160, in task_reveng

    self.main.plan.migrationSource.reverseEngineer()

  File "C:\Program Files (x86)\MySQL\MySQL Workbench CE 5.2.44\modules\migration.py", line 332, in reverseEngineer

    self.state.sourceCatalog = self._rev_eng_module.reverseEngineer(self.connection, self.selectedCatalogName, self.selectedSchemataNames, self.state.applicationData)

SystemError: TypeError("cannot concatenate 'str' and 'NoneType' objects"): error calling Python module function DbMySQLRE.reverseEngineer

ERROR: Reverse engineer selected schemata: TypeError("cannot concatenate 'str' and 'NoneType' objects"): error calling Python module function DbMySQLRE.reverseEngineer

Failed

How to repeat:
1) Main form click data migration
2) specify source connection (remote)
3) specify target connection
4) select schema
5) click next
6) error occurs

Suggested fix:
Not Sure, suppose to perform the migration.
[11 Dec 2012 13:07] Sergio Andres De La Cruz Rodriguez
Hi:

Can you paste here the content of your log file (Help --> Show Log File)?
[22 Mar 2013 16:46] Armando Lopez Valencia
Hello.
It will be very helpful if you can include the following data:
Source OS:
Source DB:
Target OS:
Target DB:
A dump of the DB that you are trying to migrate.
Besides that you can try with our latest WB version and let us know if the problem persist.
Thanks.
[23 Apr 2013 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".
[20 May 2016 22:50] Mamta Upadhyay
Reopening this bug because I am getting the same error with version 6.3

Source OS: Centos 6
Source DB: MySQL
Target OS: Centos 6
Target DB: MySQL

I am trying to migrate from one database into another on the same machine. Source database is case insensitive and target is case sensitive collation. Please help
[1 Aug 2016 18:51] Dan Downs
In db_mysql_re_grt.py, reverseEngineer() function under the following sections:

Line 335: if get_routines:
After the lines "sql = result.stringByName("Create Procedure")" and "sql = result.stringByName("Create Function")" there needs to be check for if sql is valid before updating the progress bar. I fixed mine by putting the grt. lines under a "if sql and sql is not None:".

The error will happen if the user doesn't have ALTER ROUTINE grant as mysql will return null for the "Create Procedure" or "Create Function" fields when asked for a SHOW CREATE PROCEDURE or SHOW CREATE FUNCTION.

I got this last week on workbench 6.3.7, OS X 10.11.6, and mysql 5.6.26-74.

A proper fix might ask for the user's grants and just skip the two sections if its not possible, but I didn't go so far as to parse the SHOW GRANTS syntax, as applying the correct context might be "fun".
[31 Jan 2017 15:20] MySQL Verification Team
Please try version 6.3.8. Thanks.
[1 Mar 2017 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".