require 'win32ole'
class SqlServer
# This class manages database connection and queries
attr_accessor :connection,:data,:fields
attr_writer :username, :password
def initialize(host, username = 'sa', password='')
@connection = nil
@data = nil
@host = host
@username = username
@password = password
end
def open(database)
# Open ADO connection to the SQL Server database
connection_string = "DRIVER=SQL Server;"
connection_string << "SERVER=#{@host};"
connection_string << "UID=#{@username};"
connection_string << "PWD=#{@password};"
connection_string << "APP=Microsoft Office 2003;WSID=user3130.fpihz.com;"
connection_string<<"DATABASE=#{database}"
@connection = WIN32OLE.new('ADODB.Connection')
@connection.Open(connection_string)
end
def query(sql)
# Create an instance of an ADO Recordset
recordset = WIN32OLE.new('ADODB.Recordset')
# Open the recordset, using an SQL statement and the
# existing ADO connection
recordset.Open(sql, @connection)
# Create and populate an array of field names
@fields = []
recordset.Fields.each do |field|
@fields << field.Name
end
begin
# Move to the first record/row, if any exist
recordset.MoveFirst
# Grab all records
@data = recordset.GetRows
rescue
@data = []
end
recordset.Close
# An ADO Recordset's GetRows method returns an array
# of columns, so we'll use the transpose method to
# convert it to an array of rows
@data = @data.transpose
end
def close
@connection.Close
end
end
#let me see
db = SqlServer.new('FPI301\MSSQLSERVER2008', 'sa', '123456')
db.open("sword_shizhan_ifs")
db.query('SELECT * from sword_area;')
puts field_names = db.fields
cust = db.data
puts cust.size
cust.each {|s|
print s,"\n"}
db.close
分享到:
相关推荐
本资源汇总将详细介绍如何使用Ruby进行数据库连接,尤其是通过Ruby/DBI库。 首先,我们来了解一下Ruby/DBI(Database Independent Interface)。Ruby/DBI 是一个符合 DBI 模式(数据库独立接口)的库,它提供了一个...
Ruby 版数据库连接池, 可以参考。 数据库是postgresql
首先,连接Oracle数据库需要Ruby的一个特定库——Ruby/Oracle 调用接口 (OCI8),它是基于Ruby/DBI模块的数据库驱动程序。RubyDBI提供了一个抽象层,使得开发者能够使用统一的API与不同的数据库系统(如JDBC或ODBC)...
在Ruby中连接到Microsoft SQL Server数据库,你可以使用tiny_tds或者odbc等gem。附件是使用tiny_tds gem的一个基本示例 请将your_server_name、your_database_name、your_username、your_password和your_table_name...
在IT行业中,数据库连接是开发过程中的重要环节,特别是在使用编程语言如Ruby进行Web开发时。本篇文章将深入探讨如何使用Ruby与Drizzle数据库建立连接,以及相关的源码和工具应用。 Ruby是一种动态、面向对象的编程...
总的来说,配置Ruby on Rails的数据库涉及到安装必要的数据库驱动和Rails框架,然后在`database.yml`文件中正确设定数据库连接参数。理解这个过程对于开发基于Rails的应用程序至关重要,因为这使得Rails能够与各种...
DBI,全称“Database Independent Interface”,是Ruby中一个用于数据库操作的重要库。它提供了一个统一的接口,允许开发者通过简单的API与多种数据库系统进行交互,如MySQL、PostgreSQL、SQLite等,无需关心底层...
模型(Model)类可以帮助你实现ORM(对象关系映射),使得数据库操作更像操作Ruby对象。 ```ruby # 定义模型 class User one_to_many :orders end # 操作模型 user = User.new(name: 'Jane') user.save # 保存到...
2. **连接管理(Connection Management)**:DataObjects提供了连接池管理功能,用于高效地管理和复用数据库连接,以提高性能并确保资源的有效利用。 3. **命令对象(Command Objects)**:这是执行SQL命令的对象,...
由于目前尚未出现类似于Java瘦驱动的纯Ruby驱动程序,因此要使Ruby与Oracle数据库建立连接,就需要依赖于**Ruby/Oracle调用接口(OCI8)库**。这是一个基于Ruby/DBI(数据库接口模块)的数据库驱动程序,能够实现...
Ruby直系同源基因数据库是一种基于Ruby编程语言构建的专业数据库系统,主要用于存储、管理和分析生物信息学中的直系同源基因数据。直系同源基因是指在进化过程中通过垂直遗传保持了相似序列的一组基因,它们反映了...
Ruby on Rails:数据库设计与迁移教程.docx
Ruby-SQLite3是Ruby编程语言的一个扩展库,它提供了对SQLite3嵌入式数据库的直接访问。SQLite3是一款轻量级、自包含的数据库引擎,可以在无需服务器进程的情况下运行,广泛应用于移动设备、嵌入式系统以及桌面应用...
### Ubuntu 11.04下Ruby on Rails与MySQL数据库集成指南 #### 一、安装与配置MySQL数据库 在Ubuntu 11.04环境中,安装MySQL数据库是部署Ruby on Rails应用的重要步骤之一。首先,通过打开终端并执行以下命令进行...
在Ruby编程语言中,连接和操作Oracle数据库通常需要利用Ruby的数据库接口模块Ruby/DBI以及Oracle调用接口(OCI8)库。由于没有纯Ruby的Oracle瘦驱动,开发人员必须借助于OCI8这个C语言编写的Ruby包装器,它实现了与...
标题提到的"ruby-oracle相关的数据库操作的gems包"是指一组用于连接和交互Oracle数据库的Ruby库。描述中指出,这些包主要基于oci8技术,oci8是Oracle公司提供的一个C接口,允许其他编程语言,如Ruby,与Oracle数据库...
ruby连接oracle驱动包,支持32位与64位操作系统 Developing applications with Oracle Database Build Ruby and Ruby on Rails applications using the ruby-oci8 driver or JRuby with the Oracle Enhanced ...
rubywork ruby编程例子 逻辑 IO 数据库rubywork ruby编程例子 逻辑 IO 数据库 rubywork ruby编程例子 逻辑 IO 数据库rubywork ruby编程例子 逻辑 IO 数据库rubywork ruby编程例子 逻辑 IO 数据库