FileMaker Pro 类似于 Microsoft Access。我想获取此 FileMaker 数据并将其导入 PostgreSQL 数据库。
有什么建议吗?我应该写一个程序来做到这一点吗?还是应该将 FileMaker 数据放入 Access 并从那里导入数据?
感谢您的输入!!
最佳答案
是的,你可以做到这一点。您可以在此过程中将 Access 用作中间层,但除了个人偏好外,没有理由这样做。
首先,我建议您花一些时间分析您的 FileMaker 数据库。所有的数据表都是按照标准的关系原则设计的吗? (FileMaker 支持但不强制执行关系设计)。字段类型是否在逻辑上定义,主键/辅助键是否一致且结构良好?如果没有,我强烈建议您在继续迁移之前解决这些问题(如果您愿意,可以在 FileMaker 或 Access 中解决)。
其次,我会查看是否有任何特殊的 FileMaker 数据结构无法干净地传输。以下是需要注意的主要问题:
- 扮演重要角色(尤其是在早期的 FileMaker 解决方案中)的计算字段不会直接转换为 SQL,可能应该简单地删除并稍后使用应用程序逻辑重新创建。
- 重复字段是 FileMaker 前关系时代遗留下来的遗产,需要转换为单独的表格结构;
- 容器字段,类似于 SQL BLOB。这里的挑战是找到一种干净的方法将容器数据导入 SQL,因为 CSV 和类似格式不接受 blob,除非您将它们转换为 Base64(如果需要,FileMaker 可以为您做这件事);
- 数据约束;这些只会在传输中丢失,因此最好只记下您关心的任何内容,然后在我们的 Postgres DDL 中手动重新创建这些内容。
完成此准备后,您可以轻松地将数据从 FileMaker 导出为 CSV 等标准格式,然后可以将其直接导入到新的 Postgres 表中。此处需要注意的关键事项:
- 对于您要导出的每个 FileMaker 表,请务必在导出前选择所有记录,以确保包含所有记录(否则,FileMaker 将仅导出当前为当前表找到的记录)。
- 您需要为要移至 Postgres 的每个表分别导出数据。
当然,最后,在 Postgres 中定义新表并导入您的 CSV 数据。
关于postgresql - 如何将数据从 FileMaker Pro 导入到 PostgreSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30769802/