在MySQL Workbench中调用Python模块函数时出错

问题描述 投票:6回答:1

我在这里结识了,到目前为止还没有来自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上也会出现此错误,因为我尝试过几乎没有任何表的非常小的。

有什么想法吗?谢谢你的期待

python mysql sql-server migration workbench
1个回答
0
投票

以防万一其他人遇到这个。我有同样的问题,通过删除模式,表格中的非ASCII字符来解决它....基本上所有的MSSQL对象。我安装了SQL#(www.sqlsharp.com),这增加了许多函数和存储过程以及一个名为SQL#的模式。您可以使用以下命令删除它:

EXEC SQL#.SQLsharp_Uninstall

一旦摆脱非ASCII字符,迁移就可以了。

© www.soinside.com 2019 - 2024. All rights reserved.