2014-03-04 129 views
6

我很害怕在這裏結束,到目前爲止還沒有來自MySQL Workbench bug報告站點的反饋,所以我想我會把這個問題/問題提出來更多的網站。在MySQL Workbench中調用Python模塊函數時出錯

我試圖從Windows Server 2003計算機上的MSSQL服務器遷移到在Centos 6.5虛擬機上運行的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 

我認爲這是initally一個內存錯誤,所以我調升包裝盒上的內存爲16吉布。這個錯誤也發生在任何大小的數據庫上,因爲我已經嘗試了幾乎沒有任何表的最小大小的數據庫。

有什麼想法?感謝您的期待

回答

0

只是爲了防止其他人遇到此問題。我遇到了同樣的問題,通過擺脫架構,表格中的非ASCII字符......基本上所有的MSSQL對象來修復它。這讓我感到困惑,因爲我安裝了SQL#(www.sqlsharp.com),它添加了許多函數並存儲了一個名爲SQL#的模式的procs。您可以使用以下命令刪除該文件:

EXEC SQL#.SQLsharp_Uninstall 

一旦您擺脫了非ASCII字符,遷移就可以工作。

+0

好吧,但如何在腳本中實際需要非ASCII字符時如何解決它? – fanny

相關問題