在Ubuntu上,我使用dbtools通过终端命令读取*.mdb文件。
有没有什么gem或方法可以让我使用Rails读取MDB文件?
我想在Windows中运行相同的项目。
我想将MDB转换为SQL文件并将其转储到PostgreSQL。
发布于 2012-10-01 21:59:00
看起来你已经拥有了编写这样一个宝石所需的一切:)
在你要去的路上除了痛苦什么都没有。我完全不支持的观点是,您的最佳选择可能是具有基于JDBC的MS访问驱动程序或JDBC/ODBC桥的JRuby。这样,您就可以在两个平台上使用相同的工具集,并避免大量其他问题--只会遇到从Java语言访问MSAccess的“普通”问题,虽然复杂,但并不像从MRI Ruby访问那样困难。
当然,SQLite是一个跨平台的选择,但我假设您必须使用MSAccess的特定原因。
如果您的应用程序的数据需求非常简单,您可以通过将适当的mdbtools命令包装到适当的模型中或将它们与自定义模块混合在一起来实现所需的足够行为。但是现在,这会很痛苦,你将不会得到任何ActiveRecord,尽管在这里这可能是好的。
您所处的位置与使用新NoSQL数据库的任何人相似--您将需要使用自己的数据库,并且您将使用更少的AR。
祝好运
发布于 2014-03-31 04:33:28
这个gem用于对rails:activemdb中的MDB文件进行自述访问。我还没试过呢。
发布于 2012-10-01 22:21:32
我会使用不同的攻击方式。
在Ubuntu主机上,加载PostgreSQL驱动程序和开发包,然后安装pg和Sequel gem。
在那里编写一些代码来读取MDB文件,并使用Sequel通过网络直接连接到Postgres并直接插入记录。
另一种选择是让Sequel将必要的SQL命令写到一个文件中,或者使用CSV模块创建一个中间文件,然后将其导入到PostgreSQL中,但在我看来,这是一个浪费的中间步骤。
您不需要在Rails中执行此操作;我会完全避免使用Rails,因为它真的不会为您的任务增加任何价值。
如果你想利用你的ActiveRecord知识,你可以在Rails之外使用它,并让它直接从Ubuntu系统连接到Postgres。
https://stackoverflow.com/questions/12674282
复制相似问题