日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

ruby mysql dbi_Ruby MySQL DBI实例

發布時間:2024/9/27 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ruby mysql dbi_Ruby MySQL DBI实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本次章節將介紹如何用Ruby來訪問數據庫。類似的Perl DBI模塊為Ruby腳本的Ruby DBI模塊提供了一種數據庫(這里用MySQL講解)獨立的接口。

DBI代表數據庫無關的接口為RubyDBI提供的Ruby代碼和底層數據庫之間的抽象層,允許你真的很容易切換數據庫實現。它定義了一套方法,變量和約定來提供一致的數據庫接口,獨立于實際使用的數據庫。

DBI可以連接以下:

ADO (ActiveX Data Objects)

DB2

Frontbase

mSQL

MySQL

ODBC

Oracle

OCI8 (Oracle)

PostgreSQL

Proxy/Server

SQLite

SQLRelay

DBI應用程序的體系結構

DBI是獨立于現有的任何數據庫后端。可以使用DBI操作使用Oracle,MySQL或Informix等,以下是架構示意圖。

Ruby的DBI一般架構為使用兩個層次:

數據庫接口(DBI)層。這一層是獨立于數據庫,并提供了一組共同的訪問方法所,使用的相同的方式而不管是什么樣的數據庫服務器。

(DBD)的數據庫驅動程序層。這一層是依賴于數據庫,不同的驅動程序提供了訪問不同的數據庫引擎。驅動程序用于PostgreSQL,MySQL,InterBase 或?Oracle等等。每個驅動程序解釋DBI層的請求,并將它們映射到適用于某一特定類型的數據庫服務器的請求。

先決條件:

如果想編寫Ruby腳本來訪問MySQL數據庫,那么需要安裝Ruby的MySQL模塊。

獲取并安裝Ruby/DBI:

可以下載并安裝Ruby DBI模塊從以下位置:

在開始安裝之前,請確保有root權限。執行以下步驟:

步驟 1

$ tar zxf dbi-0.2.0.tar.gz

步驟 2

在distrubution目錄dbi-0.2.0?和配置setup.rb的腳本在該目錄中。最常用的配置命令看起來像這樣,不帶參數的配置參數。此命令配置分配默認情況下,安裝所有的驅動程序。

$ ruby setup.rb config

更具體地,提供了?--with?選項列出想使用的特定部位分布。例如,只配置主DBI模塊和 MySQL DBD-level?驅動程序器,請發出以下命令:

$ ruby setup.rb config--with=dbi,dbd_mysql

步驟 3

最后一步是構建驅動程序并安裝它使用下面的命令。

$ ruby setup.rb setup

$ ruby setup.rb install

數據庫連接:

假設我們要使用MySQL數據庫。連接到數據庫之前,請確保以下:

已經創建了數據庫:TESTDB.

已經創建表 EMPLOYEE 在數據庫 TESTDB 中.

這張表有以下幾個屬性 FIRST_NAME, LAST_NAME, AGE, SEX 和?INCOME.

用戶ID "testuser" 和密碼 "test123" 已經設置可以訪問數據庫 TESTDB

Ruby 模塊DBI 在機器上正確安裝.

已經通過MySQL教程學習,了解MySQL基礎知識和操作。

下面的例子連接MySQL數據庫“TESTDB”

#!/usr/bin/ruby -wrequire"dbi"begin# connect to the MySQL serverdbh=DBI.connect("DBI:Mysql:TESTDB:localhost","testuser","test123")# get server version string and display itrow=dbh.select_one("SELECT VERSION()")puts"Server version: "+row[0]rescueDBI::DatabaseError=>e

puts"An error occurred"puts"Error code: #{e.err}"puts"Error message: #{e.errstr}"ensure# disconnect from serverdbh.disconnectifdbhend

當運行這個腳本,它在我的Linux機器產生以下結果。

Serverversion:5.0.45

如果建立一個連接的數據源,然后繼續使用,否則?dbh設置為NILL值,e.err的和e::errstr返回錯誤代碼和錯誤字符串返回,并保存到一個數據庫句柄?dbh。最后出來之前,確保關閉數據庫連接,并釋放資源。

總結

以上是生活随笔為你收集整理的ruby mysql dbi_Ruby MySQL DBI实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。