Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Sybase到MySQL的数据库迁移;调用Python模块函数dbsqlanywhere.reverseEngineer时出错;_Python_Mysql_Mysql Workbench_Database Migration - Fatal编程技术网

从Sybase到MySQL的数据库迁移;调用Python模块函数dbsqlanywhere.reverseEngineer时出错;

从Sybase到MySQL的数据库迁移;调用Python模块函数dbsqlanywhere.reverseEngineer时出错;,python,mysql,mysql-workbench,database-migration,Python,Mysql,Mysql Workbench,Database Migration,我正在尝试使用迁移工具将数据库从迁移到 连接数据源和目标数据库没有问题,但是当它开始迁移时,我从日志消息中得到以下问题 开始… 连接到源DBMS… -连接… 连接到源DBMS已完成 对所选架构进行反向工程… corsi的逆向工程DBA、SYS、dbo、rs_systabgroup -逆向工程目录信息 -准备… 回溯(最近一次呼叫最后一次): 反向工程中的文件“C:\Program Files(x86)\MySQL\MySQL Workbench 6.3CE\modules\db\u sqlany

我正在尝试使用迁移工具将数据库从迁移到

连接数据源和目标数据库没有问题,但是当它开始迁移时,我从日志消息中得到以下问题

开始…
连接到源DBMS…
-连接…
连接到源DBMS已完成
对所选架构进行反向工程…
corsi的逆向工程DBA、SYS、dbo、rs_systabgroup
-逆向工程目录信息
-准备…
回溯(最近一次呼叫最后一次):
反向工程中的文件“C:\Program Files(x86)\MySQL\MySQL Workbench 6.3
CE\modules\db\u sqlanywhere\u re\u grt.py”,第489行
返回SQLAnywhere ReverseEngineering.reverseEngineer(连接、目录名称、模式列表、上下文)
反向工程中的文件“C:\Program Files(x86)\MySQL\MySQL Workbench 6.3 CE\modules\db\u sqlanywhere\u re\u grt.py”,第169行 catalog=super(sqlanywhere反向工程,cls)。反向工程(连接,,,模式列表,上下文)
反向工程中的文件“C:\Program Files(x86)\MySQL\MySQL Workbench 6.3 CE\modules\db\u generic\u re\u grt.py”,第258行 table_count_per_schema[schema_name]=len(cls.getTableNames(连接、目录名称、架构名称)),如果get_tables else 0
文件“C:\Program Files(x86)\MySQL\MySQL Workbench 6.3 CE\modules\db\u sqlanywhere\u re\u grt.py”,第41行,采用包装方法 res=方法(cls,连接,*args)
getTableNames中的文件“C:\Program Files(x86)\MySQL\MySQL Workbench 6.3 CE\modules\db\u sqlanywhere\u re\u grt.py”,第145行 对于cls中的行返回[行[0]。执行_查询(连接,查询)]
文件“C:\Program Files(x86)\MySQL\MySQL Workbench 6.3 CE\modules\db\u generic\u re\u grt.py”,第76行,在执行查询中 返回cls.get_connection(connection_object).cursor().execute(查询,*args,**kwargs) pyodbc.ProgrammingError:('42S02',“[42S02][Sybase][ODBC驱动程序][Adaptive Server Anywhere]未找到表或视图:未找到表'SYSTAB'(-141)(SQLExecDirectW)”)

回溯(最后一次调用):
文件“C:\Program Files (x86)\MySQL\MySQL工作台6.3 CE\workbench\wizard\u progress\u page\u widget.py”,第192行,在线程工作中 self.func()
文件“C:\Program Files(x86)\MySQL\MySQL Workbench 6.3 CE\modules\migration\u schema\u selection.py”,第175行,在 任务报告 self.main.plan.migrationSource.ReverseeEngineer()文件“C:\Program Files(x86)\MySQL\MySQL Workbench 6.3 CE\modules\migration.py”,第369行,反向工程中 self.state.sourceCatalog=self.\u rev\u eng\u模块反向工程(self.connection, self.selectedCatalogName、self.selectedSchemataNames、, self.state.applicationData)系统错误:编程错误(“('42S02',”, “[42S02][Sybase][ODBC驱动程序][Adaptive Server Anywhere]表或视图 未找到:未找到表“SYSTAB”(-141)(SQLExecDirectW)”):错误 调用Python模块函数dbsqlanywhere.reverseEngineer
错误:对所选架构进行反向工程:编程错误(“('42S02',”, “[42S02][Sybase][ODBC驱动程序][Adaptive Server Anywhere]表或视图 未找到:未找到表“SYSTAB”(-141)(SQLExecDirectW)”):错误 调用Python模块函数dbsqlanywhere.reverseEngineer
失败


如何解决这个问题?

这是因为SQL需要获取表名。看看db_sqlanywhere_re_grt.py:142,有:

SELECT st.table_name
FROM SYSTAB st LEFT JOIN SYSUSER su ON st.creator=su.user_id
WHERE su.user_name = '%s' AND st.table_type = 1
这是sql anywhere版本<10的有效sql,我猜您有最新版本。因此,您可以使用兼容的SQL编辑和更新该文件。 请记住,该文件中还有更多的SQL也需要更新。 同时,请在填写错误报告