我正在将多个FMP6数据库迁移/合并到由SQL Server 2008支持的单个C#应用程序。我遇到的问题是如何将数据导出到真实数据库(SQL Server),以便我可以处理数据质量和规范化。这将是重要的,有许多重复字段需要规范化为子表。
正如我所看到的,有几个不同的选项,其中大多数涉及通过ODBC连接到FMP并使用中间件来复制数据(自定义代码或MS Acess链接表),或者导出到flat文件格式(没有标题或xml的CSV)并使用excel生成插入语句或编写一些自定义代码来加载文件。
我倾向于编写一些自定义代码来进行迁移(比如this article,但是在C#而不是perl中),而不是ODBC,但是我担心编写一个只会迁移的开销使用一次(一旦新系统启动,现有数据库将被存档)......
一些小小的快乐警告:在这个版本的FMP中,每个文件只有一个表,并且单个列可能具有多值属性,以十六进制1D分隔,当然是ASCII组分隔符!
有没有人有类似迁移的经验?
答案 0 :(得分:0)
我过去做过这个,但是使用MySQL作为后端。我使用的方法是导出为csv或merge格式,它们使用LOAD DATA INFILE语句。
SQL Server可能有类似的东西,也许这个链接可以帮助bulk insert