我在这里结识了,到目前为止还没有来自MySQL Workbench错误报告网站的反馈,所以我想我会把这个问题/问题扔到更多的网站上。
我正在尝试从Windows Server 2003计算机上的MSSQL服务器迁移到运行在Centos 6.5 VM上的MySQL服务器。我可以连接到源数据库和目标数据库,选择一个模式,并通过一次传递来检索表。在此之后,该过程失败并引发以下错误:
Traceback (most recent call last): File "/usr/lib64/mysql-workbench/modules/db_mssql_grt.py", line 409, in reverseEngineer reverseEngineerProcedures(connection, schema) File "/usr/lib64/mysql-workbench/modules/db_mssql_grt.py", line 1016, in reverseEngineerProcedures for idx, (proc_count, proc_name, proc_definition) in enumerate(cursor): MemoryError Traceback (most recent call last): File "/usr/share/mysql-workbench/libraries/workbench/wizard_progress_page_widget.py", line 192, in thread_work self.func() File "/usr/lib64/mysql-workbench/modules/migration_schema_selection.py", line 160, in task_reveng self.main.plan.migrationSource.reverseEngineer() File "/usr/lib64/mysql-workbench/modules/migration.py", line 353, in reverseEngineer self.state.sourceCatalog = self._rev_eng_module.reverseEngineer(self.connection, self.selectedCatalogName, self.selectedSchemataNames, self.state.applicationData) SystemError: MemoryError(""): error calling Python module function DbMssqlRE.reverseEngineer ERROR: Reverse engineer selected schemata: MemoryError(""): error calling Python module function DbMssqlRE.reverseEngineer Failed
我认为这最初是一个内存错误,所以我把盒子上的内存增加到16 GiB。在任何大小的DB上也会出现此错误,因为我尝试过几乎没有任何表的非常小的。
有什么想法吗?谢谢你的期待
以防万一其他人遇到这个。我有同样的问题,通过删除模式,表格中的非ASCII字符来解决它....基本上所有的MSSQL对象。我安装了SQL#(www.sqlsharp.com),这增加了许多函数和存储过程以及一个名为SQL#的模式。您可以使用以下命令删除它:
EXEC SQL#.SQLsharp_Uninstall
一旦摆脱非ASCII字符,迁移就可以了。