我们如何在Rails中读取MDB文件以将其转储到PostgreSQL中



在Ubuntu上,我使用dbtools通过终端命令读取*.mdb文件。

有没有一个gem或方法可以让我使用Rails读取MDB文件?

我想在Windows中运行相同的项目。

我想将MDB转换为SQL文件,并将其转储到PostgreSQL。

似乎你已经拥有了编写这样一个gem所需的一切:)

在你前进的道路上,只有痛苦。我完全不支持的观点是,您的最佳选择可能是使用基于JDBC的MS Access驱动程序或JDBC/ODBC桥的JRuby。这样,您就可以在两个平台上使用相同的工具集,并避免大量其他问题——您只会遇到从Java访问MSAccess的"正常"问题,虽然这很复杂,但不如从MRI Ruby访问困难。

当然,SQLite将是一个跨平台的选项,但我假设您必须使用MSAccess的具体原因。

如果你的应用程序的数据需求非常简单,你可以通过将适当的mdbtools命令包装到适当的模型中或将它们与自定义模块混合来实现足够的行为。但是,哦,这会很痛苦,你不会得到任何ActiveRecord,尽管在这里这可能很好。

你和任何使用新的NoSQL数据库的人都处于类似的境地——你需要自己滚动,你将使用更少的AR。

祝好运

此gem用于READONLY访问rails:activemdb中的MDB文件。我还没试过。

我会使用不同的攻击。

在Ubuntu主机上,加载PostgreSQL驱动程序和开发包,然后安装pg和Sequel gem。

在那里写一些代码来读取MDB文件,并使用Sequel通过网络直接连接到Postgres并直接插入记录。

另一种选择是让Sequel将必要的SQL命令写入文件,或者使用CSV模块创建一个中间文件,然后将其导入PostgreSQL,但在我看来,这是一个浪费的中间步骤。

您不需要在Rails中执行此操作;我会完全避免使用Rails,因为它确实不会为您的任务增加任何价值。

如果你想利用你的ActiveRecord知识,你可以在Rails之外使用它,并让它直接从Ubuntu系统连接到Postgres。

最新更新