【问题标题】:Free tool for DB converting数据库转换的免费工具
【发布时间】:2011-01-05 21:51:18
【问题描述】:

我正在寻找将 SQL Server 转换为 SQLite 的免费工具(或一些简单的方法)。我只需要将表定义与没有数据的关系进行转换。

【问题讨论】:

    标签: sql sql-server sqlite


    【解决方案1】:

    我不知道有什么自动化工具可以做到这一点,但SQL Server 和SQLite CREATE TABLE syntax 之间的区别很小。主要不兼容的地方是:

    • 没有IDENTITY。最接近的是INTEGER PRIMARY KEY AUTOINCREMENT。
    • 外键强制默认关闭(出于向后兼容性的原因)。有一个 pragma 可以打开它。
    • 不支持CLUSTERED。
    • 表没有所有者。

    最重要的是type system is different。在 SQL Server 术语中,每个 列(INTEGER PRIMARY KEY 除外)都是 sql_variant。声明只是列的首选类型,而不是限制。

    SQL server data types 映射到 SQLite 类型关联如下:

    • bigint, int, smallint, tinyint → 整数
    • 浮点数,实数 → 实数
    • char、nchar、ntext、nvarchar、text、varchar → TEXT

    SQLite 无法识别的任何类型名称都具有 NUMERIC 亲和性。这适用于money 和numeric,但您可能需要将image 和(var)binary 重命名为BLOB。

    【讨论】:

    • 是的,差别很小。但是当我有很多表时:手动进行 - 浪费很多时间。
    • 这只是在您的 SQL 脚本中搜索和替换的问题。
    【解决方案2】:

    我将 DBSync 用于 SQLite 和 MSSQL。免费版允许在没有数据的情况下转换数据库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-17
      • 2010-09-25
      • 2012-07-12
      • 2011-01-31
      • 2012-06-14
      • 1970-01-01
      • 2019-07-19
      • 2011-03-14
      相关资源
      最近更新 更多