我正在使用 ruby 1.8.7 和 WATiR 测试一个 Web 应用程序,我想尽可能轻松地连接到 H2 数据库,我只能找到有关 JDBC 访问的信息。如果有一种方法可以从 Ruby 中使用 JRuby 来执行此操作,那没关系,但我需要使用 Ruby 主要是因为我的 WATiR 代码是用它编写的,并且希望保持不变。
将考虑所有可能的解决方案,但我正在寻找一些简单的方法,因为我的数据库知识有限,我需要从 Ruby/WATiR 访问数据库(读取和写入)以测试 Web 前端显示的内容。
编辑:我消除了一些我的无知,现在我知道 JDBC 是一个用于 DB 访问的 Java API,所以我现在正在寻找连接到 H2 数据库的任何方法,以便我的 Ruby/WATiR 脚本可以访问它。
背景:我有一些使用 DBI 和 Sequel gems 的经验,并且我安装了 Rails(所以我可以开始玩 ActiveRecord,主要是),但愿意学习新事物来解决这个问题。
假设我不是一个出色的 Java 编码器。我以前也从未考虑过使用 JRuby,所以我并不完全熟悉它的工作原理。
解决方案 我最终让两人互相交谈,这主要归功于 Thomas Mueller 在下面的回答。我安装了 PostgreSQL ODBC 驱动程序,让 Sequel 工作并使用 ODBC 连接。使用 Sequel 的 PG 适配器连接到 H2 PG 服务器会导致一些我仍在处理的语法错误。我还没有尝试使用 DBI 进行连接,但我会尝试,因为它可以让我在需要时更好地控制语法。也非常感谢 Jeremy Evans 帮助解决了 activerecord-jdbc-adapter 和 Sequel(我的 ruby 路径中的 pg.rb 文件)之间的冲突,以及管理 Sequel。这没有被列为答案,因此我可以在向与我处于相同情况的人提供反馈的同时给予那些回答的人的信任。
我已经安装了 pg(不是 ruby-pg)、sequel、dbi、dbd-odbc(加上一个手动文件修复,你可以向我询问详细信息)、锄头和卸载的 activerecord-jdbc-adapter。