postgresql - 如何将数据从 FileMaker Pro 导入到 PostgreSQL

标签 postgresql filemaker

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/

相关文章:

postgresql - Heroku Postgres 删除触发器未通过 Heroku Connect 复制到 Salesforce

ios - 从电子表格或数据库文件中的大型数据集创建字典

mysql - 将 FIlemaker DB 数据传输到 mySQL DB

mysql - Filemaker 中加载数据本地 infile 问题

postgresql - JPA - 使用 varchar 调用 postgresql 函数时为 "No Dialect mapping for JDBC type: 1111"

postgresql - 导入数据,重复键值违反唯一约束

sql - 如何在 COUNT 聚合中包含 "zero"/"0"结果?

ruby-on-rails - PG::ConnectionBad:连接到套接字 "/var/run/postgresql/.s.PGSQL.5432"上的服务器失败:没有这样的文件或目录

pyodbc - 使用 pyodbc 连接到 FileMaker Server

filemaker - 使用 FileMaker Pro FP7 文件