Rails rails 7 如何连接 ibm_db DB2 数据库?

syutran · 2022年03月23日 · 最后由 ywjno 回复于 2022年03月23日 · 342 次阅读

呆了好久......

rails new demo -d ibm_db 会报 database 的错误,意思是没有 ibm_db 的相关驱动,意思是不支持 db2 数据库。

  • 1、GO 过了,说是要在 activerecord.rb 里添加 ibm_db 的选项。

但我在 gems 的 activerecord 7.0.* 里就没找到可以添加的位置。

  • 2, gem install ibm_db

这是安装 ibm_db 的 gem,不解决 rails new demo -d ibm_db 的问题。

  • 3、IBM 官网说法

卸载当前的 ibm_db,去客户端的 libsql/lib 下去 gem install 一个 ibm_db,当然这个更老。

  • 4、ibm_db 的主页

ibm_db 5.2.0 最高支持 6.0.x

rails 7 不支持 DB2 数据库 ?

https://github.com/ibmdb/ruby-ibmdb/issues/127#issuecomment-1056241347
根据上面的链接,确实不支持 rails7。不过贡献者正在努力。

ruby 6 又不是不能用?你必须用到 rails 7 的什么新特性吗?

@pynix 我想用 rails 7 的 hotwired,importmap, tailwindcss。

rails 6 里需要手工配置,不定哪个搞不好就掉坑里好久,rails 7 在 new 时一气呵成,省好多配置。

syutran 回复

那为什么又非要用 ibmdb 呢?

pynix 回复

db2 是公司无法改变的现实。兄台莫非有其它连接 DB2 的方法?

syutran 回复

没有。

pynix 回复

建议你用 6.0 吧,ibmdb 支持估计要挺久的。

pynix 回复

谢谢您。我回到 6.0 去,虽然有好多坑在前面。

要不看看 jruby 能否跑 rails 7 吧,好歹可以用 jdbc 的 db2 来连接数据库

需要 登录 后方可回复, 如果你还没有账号请 注册新账号