1. 程式人生 > >ruby on rails同時連線兩個資料庫

ruby on rails同時連線兩個資料庫

使用 ruby on rails 做專案開發時,有時候需要同時連線兩個資料庫,沒有這樣做過的開發人員可能有點困難,其實方法很簡單,在這裡簡單介紹一下,希望能給大家帶來幫助。

本次使用的資料庫分別為 Mysql DB 和 Oracle DB (兩個資料庫可以為同一種資料庫,方法類似),第一個資料庫 Mysql DB 配置檔案與單個數據庫的專案中的配置檔案中相同。下面開始新增第二個資料庫 Oracle DB :

1、新增 Oracle DB 配置檔案到database.yml檔案中。(注:ruby on rails 連線 Oracle DB 時,不同於 Mysql DB ,不可以直接連線, 需要安裝一個名為 ruby-oci8 的 gem 包,Mac OS 系統下的安裝過程詳見:
http://blog.csdn.net/kavin_luo/article/details/52610152
)

oracle_development: #名字可自定義,但是不能重複。
  adapter: oracle_enhanced
  username: root
  database: TEST
  password: root
  host: localhost
  port: 1521 # Oracle DB 的埠號,如果為 Mysql 則不用寫。
  encoding: utf8

2、讓專案連線第二個資料庫 Oracle DB 。

新增檔案 lib/external_data.rb

class
Test::ExternalData < ActiveRecord::Base #Test為方法名,可自定義
self.abstract_class = true establish_connection :oracle_development # oracle_development 為database.yml檔案中新增的第二個 DB 配置的名字 end

3、為第二個 DB 新增 model 。(注:所有的model名字不能重複,包括第一個資料庫 Mysql DB 所有的 model )

例如: Oracle DB 中有一張表為 Users .
新增檔案 app/models/user.rb

class User < Test::ExternalData #被繼承的類名為external_data.rb檔案中自定義的類名
end

這樣就可以了,下面來測試一下。

4、測試第二個資料庫 Oracle DB 是否可以使用。

在專案根目錄下執行:

bundle
rails c 

進入到rails console

1.9.3-p551 :001 > User.first

就能查詢到 User 表中的第一條資料了。

相關推薦

ruby on rails同時連線資料庫

使用 ruby on rails 做專案開發時,有時候需要同時連線兩個資料庫,沒有這樣做過的開發人員可能有點困難,其實方法很簡單,在這裡簡單介紹一下,希望能給大家帶來幫助。 本次使用的資料庫分別為 Mysql DB 和 Oracle DB (兩個資料庫可以為同

SpringMVC配置雙資料來源,一個java專案同時連線資料庫

資料來源在配置檔案中的配置 [java] view plain copy  print? <pre name=“code”class=“java”><?xml version=“1.0” encoding=“UTF-8”?>   <beans xml

如何使用springboot同時連線不同的資料來源操縱資料庫

     建立一個springboot專案,在pom.xml檔案中匯入一些基本的依賴並匯入需要連線的兩個資料庫postgresql,和sqlserver的依賴。在application-dev.properties配置檔案中配置兩個資料庫的連線資訊。             

用 SSH 連線資料庫

spring2+struts2+hibernate3實現連線兩個資料庫 jdbc.properties檔案,寫資料庫的連線資訊 jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://127.

mysql使用federated引擎實現遠端訪問資料庫(跨網路同時操作資料庫中的表)

問題: 這裡假設我需要在IP1上的database1上訪問IP2的database資料庫內的table2表 方法: 這裡database作為本地資料庫需要開啟federated引擎才可以訪問遠端的database內的表,具體開啟方法如下: 本地IP1資料庫DATABASE

Ruby on rails 連線mysql資料庫實踐

1.安裝好railsinstaller後,先修改gem的源。 1.1檢視源 gem sources 1.2移除原有的:https://rubygems.org,由於使用原有的源來用gem安裝的時候,一直報連線失敗的原因,我們改成淘寶的源。 gem sources -r

DbForge Data Compare for SQL Server入門教程:連線資料庫、快速同步資料庫

在連線到資料庫之前,必須建立伺服器連線。 要建立連線: 1. 在資料庫選單上,單擊新建連線。將開啟“ 資料庫連線屬性” 對話方塊。 2. 在“ 伺服器” 組合框中,單擊“ <瀏覽...>” 。將開啟“ 瀏覽伺服器” 視窗。 3. 在“ 本地伺服器” 選

Ruby on Rails實戰】3.2 配置資料庫以及資料庫操作知識

1、建立一個database mysql我們已經在1.3節安裝過了。連線遠端,在專案目錄下連線mysql,建立一個database資料庫。如果你在1.3節啟動專案時碰到了mysql錯誤並且解決了,那可以跳過1、2步,因為你已經配置好了。 vagrant@vagrant-ubunt

SSM專案實現連線mysql資料庫

最近做專案需要用到另一個數據庫的內容,多方查詢終於實現了功能。 我們都知道,在SSM框架中,我們在applicationContext.xml配置檔案中新增資料來源就可以實現資料庫增刪改查,但是隻能連線一個數據庫,這個時候我們就要從spring提供的原始碼下手看看有沒有有關

PHP同時連線mysql資料庫

例項: <?php $conn1 = mysql_connect("127.0.0.1", "root","root","db1"); mysql_select_db("db1", $conn1); $conn2 = mysql_connect("127.0.0.1"

SSH同時連線不同型別的資料庫

一個連線會配置,那兩個一起也是小Case 配置兩個不同的資料來源 (或者說連線池)dataSource 配置兩個不同的sessionFactory 配置兩個不同的事務transactionManager 配置兩個不同的Dao 注意實體的對映檔案載入配置 那就Ok了

RubyRuby On Rails 教程大全[全41]~內附下載地址

征服RUBY ON RAILS WEB開發技術詳解 - CN.pdf檔案大小:32.22Mhttp://mail.qq.com/cgi-bin/ftnExs_download?k=683633390241cfc82bc22e391032011a0457025b02545254

Spring+Hibernate+Proxool資料庫連線池配置

1,配置兩個proxool.xml檔案,proxool.first.xml配置 <proxool> <alias>Proxool.First</alias> <proxool> <ali

ruby on rails 合併多結果集並排序

   在最近工作中,遇到多個reust,需要顯示在同一個dialog中的問題,並且按照時間排序,查閱了不少資料,尋找到一種有效的解決辦法,如下:     1,針對同一張表查詢出來的多個結果集需要合併

Mac上配置 Ruby on Rails和Git

code class gist pass ack nss exit ech https Ruby on Rails on Mac ====================================================================

ruby on rails模擬HTTP請求錯誤發生:end of file reached

ats ace post result tcs 後來 nec scu microsoft 在文章 Ruby On Rails中REST API使用演示樣例——基於雲平臺+雲服務打造自己的在線翻譯工具 中,利用ruby的Net::HTTP發起http請求訪問IBM Blu

【PostgresSQL】同時更新

post style gre column div tab pre sql from UPDATE table1 SET column = value FROM table2 WHERE table1.column2 = table2.column2 【Po

WinForm實現同時窗體有激活效果的特效實例

extern mes tex 地址 zone name static cor 語音 本文實例講述了WinForm實現同時讓兩個窗體有激活效果的特效。主要采用windows api實現一個窗體激活的時候給另外一個發消息。分享給大家供大家參考。 具體實現方法如下:using

打造適合Ruby on Rails的Sublime Text 3開發環境[原創]

ebr ins oda lan new alt mac 管理 nbsp 強大的 Package Control Package Control 是一個包管理工具,類似於 Homebrew, NPM, 用它來管理所有 ST 插件非常方便 安裝:https://package

Ruby on Rails,一對多關聯(One-to-Many)

用例 存在 BE details 一對一 擁有 class room 方法 在上一篇文章中,我們知道通過has_one和belongs_to方法定義一對一關聯關系。接下來是更常見的情況,一對多關聯。比如老師與所教課程的關系,一個老師負責多個課程。換成對象之間的關系就是:一個