[ruby on rails] 同时链接mysql, oracle数据库, sql_server数据库

本文详细介绍了如何在Ruby on Rails应用中同时链接并读取MySQL、Oracle和SQL Server数据库。首先,针对MySQL,创建mysql.rb文件进行配置;接着,对于Oracle数据库,安装必要的客户端,设置环境变量,并配置oracle.rb文件;再者,为了链接SQL Server,安装freetds和相关gem,创建sql_server.rb文件。最后,讲解了database配置和connection的设置。
摘要由CSDN通过智能技术生成

1. 链接mysql数据库读数据

  • 建个mysql.rb文件,models下也可以,app下新建个文件夹放进去也行
module Mysql
  class Rffc < ActiveRecord::Base
    self.abstract_class = true
    establish_connection :qxj_mysql  # ActiveRecord::Base.establish_connection
    self.table_name = "sevp_chn_wefc_rffc"
  end
end
  • 调用
# 项目里要读取sevp_chn_wefc_rffc表的第一个数据
Mysql::Rffc.first

2. 链接Oracle数据库读数据

  • 安装oracle client

    1. 下载 oracle Basic Package (ZIP), SDK Package (ZIP), SQL*Plus Package (ZIP)(可装可不装,装了可以terminal命令行链接数据库),centos7, 64位对应地址
    2. 在服务器建立/opt/oracle文件夹,把3个zip压缩包复制然后upzip到这个文件夹里
    3. export LD_LIBRARY_PATH=/opt/oracle/instantclient_xx_x,可以写在bashrc里
    4. export NLS_LANG=AMERICAN_AMERICA.UTF8
      安装教程
  • 安装gem

# 用来使用ActiveRecord来读取数据库的
gem 'activerecord-oracle_enhanced-adapter', '~> 1.8.0' # 对应rails 5.1版本,不同rails版本不同gem
# 用来链接oracle数据库的
gem 'ruby-oci8'

安装过程中报错

Gem::Ext::BuildError: ERROR: Failed to build gem native extension

Error Message:
  Set the environment variable DYLD_LIBRARY_PATH, DYLD_FALLBACK_LIBRARY_PATH or
  OCI_DIR to point to the Instant client directory.

  If DYLD_LIBRARY_PATH or DYLD_FALLBACK_LIBRARY_PATH is set, the environment
  variable must be set at runtime also.

  If OCI_DIR is set, dependent shared library paths are checked. If the checking
  is passed, ruby-oci8 works without DYLD_LIBRARY_PATH or DYLD_FALLBACK_LIBRARY_PATH

根据提示

# 变量名看提示,不同版本变量名不同
export DYLD_LIBRARY_PATH=/opt
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值