【问题标题】:Reverse engineering error during migration of SqLite to MySql using MySql workbench使用 MySql 工作台将 SqlLite 迁移到 MySql 期间的逆向工程错误
【发布时间】:2013-12-04 01:24:36
【问题描述】:

我正在使用 MySQL 工作台迁移向导(社区版)将 SQLite 数据库迁移到 MySql。我已经下载了 SQLite 的 ODBC 驱动程序。我能够连接到 SQLite 并检索架构(参见图一)。

但是,在迁移的逆向工程阶段会产生错误(参见图二)。在此示例中,错误显示为“错误:第 1 行:语法错误,意外的 TEXT_STRING。已跳过语句。”因为逆向工程因错误而终止,所以架构没有被逆向工程。

有谁知道如何解决这个问题?

谢谢你, 卡米尔

图一。


图二。

【问题讨论】:

  • 对我来说看起来像是一种未处理的数据类型。请在bugs.mysql.com 提交错误报告以修复此问题。
  • @MikeLischke 谢谢。我会提交错误报告。

标签: mysql sqlite mysql-workbench


【解决方案1】:

根据我的经验,Workbench 曾经有很多错误,可能这也是一个错误。如果没有人回答真正的解决方案,我建议你看看这个 SO question: Quick easy way to migrate SQLite3 to MySQL?

我只是担心它可能不会那么又快又容易。大多数方法都围绕将 SQLite 数据库转储为 SQL 脚本、将脚本转换为 MySQL 语法并在 MySQL 中导入/执行。

【讨论】:

  • 相当有问题?,在我的世界里,我称之为:它只是行不通。
【解决方案2】:

根据我刚刚的经验,如果条目中的数据库文件(这里是 SQLite)的语法与 MySQL 不兼容,就会发生这种错误。在我的情况下,当遇到“自动增量”(MySQL 语法中不存在)这个词时,它会报告“语法错误,意外 IDENT_QUOTED,期待 ')'”。

进行迁移的一种方法是将 SQLite DB 转储到 .sql 脚本中,对其进行修改以尊重 MySQL 的语法并将其导入 MySQL。

请在此处查看 Shalmanese 的回答 https://stackoverflow.com/a/87531/1324798,了解语法之间的差异列表和转换它的脚本。

很遗憾,我不知道是否还有办法使用 Workbench 的迁移向导来解决这种问题。

祝你好运。

【讨论】:

    猜你喜欢
    • 2019-03-08
    • 2014-11-29
    • 1970-01-01
    • 2021-05-12
    • 2014-12-19
    • 2012-01-09
    • 1970-01-01
    • 1970-01-01
    • 2017-10-19
    相关资源
    最近更新 更多