代码之家  ›  专栏  ›  技术社区  ›  UnDiUdin

如何将SQL Server数据库(包括过程、函数和触发器)转换为FireBird

  •  0
  • UnDiUdin  · 技术社区  · 14 年前

    我正在考虑迁移到火鸟。为了有一个“快速启动”的方法,我下载了一个转换工具的试用版。( DBConvert 然后试一试。

    我刚拿起一个随机工具,这个工具不转换过程、函数和触发器(我不认为这是一个试验的限制,因为上面的链接中没有对sp、sf和触发器的明确引用)。

    不管怎样,通过尝试这个工具,我得到了一个信息:

    无法转换数据库 成功,因为某些FK名称是 太长了。

    这是因为在某些表中,我有fk,它的描述是32个字符。

    这是一个真正的火鸟限制,还是有可能以某种方式克服它(当然,重命名FK是一个极端的选择,因为它是额外的工作)?

    无论如何,如何将SQL Server数据库完全转换为FireBird?有有效的工具吗?是否有人成功地转换了非平凡的数据库?

    3 回复  |  直到 14 年前
        1
  •  2
  •   Hugues Van Landeghem    14 年前

    你可以使用一些工具,比如 Interbase Datapump 你也可以查一下 this

    对于fk的大小:必须重命名它们:(

    你也可以试着用 Database Worbench

        2
  •  1
  •   marc_s    14 年前

    我怀疑你能否“改变”这一切。Firebird/Interbase和Microsoft SQL Server使用的数据类型非常不同,它们的SQL语言方言有些不同,等等。

    你可能会得到60-80%的转化率,但剩下的都是需要的手动操作。

    如果您的转换仅仅因为这些FK约束而失败:请在转换之前将它们放到SQL Server中,并在转换之后在Firebird端重新创建它们。

    或者:将它们放到SQL Server中,用较短的名称重新创建它们,然后进行转换。

        3
  •  0
  •   Yiannis Mpourkelis    14 年前

    我知道还有两个工具可以帮助您进行转换。

    ESF数据库迁移工具包 link text

    以及数据库设计 link text