【问题标题】:Error calling Python module function in MySQL Workbench在 MySQL Workbench 中调用 Python 模块函数时出错
【发布时间】:2014-04-06 12:23:33
【问题描述】:

我有点不知所措,到目前为止,还没有来自 MySQL Workbench 错误报告网站的反馈,所以我想我会把这个问题/问题抛给更多网站。

我正在尝试从 Windows Server 2003 机器上的 MSSQL 服务器迁移到 Centos 6.5 VM 上运行的 MySQL 服务器。我可以连接到源数据库和目标数据库,选择一个模式,并通过一次传递来检索表。在此之后,该过程失败并引发以下错误:

回溯(最近一次通话最后): 文件“/usr/lib64/mysql-workbench/modules/db_mssql_grt.py”,第 409 行,在 reverseEngineer 中 reverseEngineerProcedures(连接,模式) 文件“/usr/lib64/mysql-workbench/modules/db_mssql_grt.py”,第 1016 行,在 reverseEngineerProcedures 对于 idx, (proc_count, proc_name, proc_definition) in enumerate(cursor): 内存错误 回溯(最近一次通话最后): 文件“/usr/share/mysql-workbench/libraries/workbench/wizard_progress_page_widget.py”,第 192 行,在 thread_work self.func() 文件“/usr/lib64/mysql-workbench/modules/migration_schema_selection.py”,第 160 行,在 task_reveng self.main.plan.migrationSource.reverseEngineer() 文件“/usr/lib64/mysql-workbench/modules/migration.py”,第 353 行,在 reverseEngineer 中 self.state.sourceCatalog = self._rev_eng_module.reverseEngineer(self.connection, self.selectedCatalogName, self.selectedSchemataNames, self.state.applicationData) SystemError: MemoryError(""): 调用 Python 模块函数 DbMssqlRE.reverseEngineer 时出错 错误:逆向工程师选择了架构:MemoryError(""):调用 Python 模块函数 DbMssqlRE.reverseEngineer 时出错 失败的

我认为这最初是一个内存错误,所以我将盒子上的内存提高到了 16 GiB。这个错误也会发生在任何大小的数据库上,因为我尝试了非常小的数据库,几乎没有任何表。

有什么想法吗?感谢观看

【问题讨论】:

    标签: python mysql sql-server migration workbench


    【解决方案1】:

    以防万一其他人遇到这种情况。我遇到了同样的问题,并通过删除模式、表中的非 ASCII 字符来解决它......基本上所有的 MSSQL 对象。这被我安装了 SQL# (www.sqlsharp.com) 的事实弄糊涂了,它添加了许多函数并使用名为 SQL# 的模式存储了过程。您可以使用以下命令将其删除:

    EXEC SQL#.SQLsharp_Uninstall
    

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

    【讨论】:

    • 好的,但是如果脚本中确实需要非 ASCII 字符,该如何解决?
    猜你喜欢
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-05
    • 1970-01-01
    • 2011-06-23
    • 2016-11-29
    • 1970-01-01
    相关资源
    最近更新 更多