可以通过windows特有的ADO来连接, 需要借助于WIN32OLE, 不是最好的方法, 但是够用.
require "win32ole"
class MssqlDb
attr_accessor :mdb, :connection, :data, :fields
def initialize(host,mdb,user,pass)
@host= host
@mdb=@database= mdb
@username= user
@password= pass
@connection = nil
@data = nil
@fields = nil
end
def open
connection_string = "Provider=SQLOLEDB.1;User ID=#@username;password=#@password;Data Source=#@host,1433;Initial Catalog=#@mdb"
@connection = WIN32OLE.new('ADODB.Connection')
@connection.Open(connection_string)
# @password=''
end
def query(sql)
recordset = WIN32OLE.new('ADODB.Recordset')
recordset.Open(sql, @connection)
@fields = []
recordset.Fields.each do |field|
@fields << field.Name
end
begin
@data = recordset.GetRows.transpose
rescue
@data = []
end
recordset.Close
end
def queryGB(sql)
if sql=~ Re_cn
sql = utf8_to_gb(sql)
end
recordset = WIN32OLE.new('ADODB.Recordset')
recordset.Open(sql, @connection)
@fields = []
recordset.Fields.each do |field|
@fields << field.Name
end
begin
@data = recordset.GetRows.transpose
rescue
@data = []
end
recordset.Close
end
def execute(sql)
@connection.Execute(sql)
end
def executeGB(sql)
if sql=~ Re_cn
sql = utf8_to_gb(sql)
end
@connection.Execute(sql)
end
def close
@connection.Close
end
def utf8_to_gb(s)
p 'conv to gb18030'
Iconv.conv("GB18030//IGNORE","UTF-8//IGNORE",s)
end
def gb_to_utf8(s)
p 'conv to utf8'
Iconv.conv("UTF-8//IGNORE","GB18030//IGNORE",s)
end
end
分享到:
相关推荐
主要介绍了Ruby连接使用windows下sql server数据库代码实例,本文直接给出实现代码,而且给出了两种实现和access数据库的实现代码,需要的朋友可以参考下
sqldbx连接db2必备 IBM 数据服务器客户机版本 11.5.0.0 。多合一版本包含各类驱动JDBC、ODBC、CLI等 IBM 数据服务器客户机是用于 DB2 数据服务器的一组客户机应用程序驱动程序和工具。它支持运行使用了嵌入式 SQL...
描述 提供用于部署Visual Studio数据库项目的数据库工具。... connection_string -SQL Server连接字符串。 示例:“数据源=本地主机;用户ID = sa;密码= ***;” database_name将在其中部署dacpac文件的数据库
5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
MySQL数据库以及Perl、Python或者PHP编程语言的结合)组合 重要组成部分,同时它提供的C API可以结合Glade/GTK+,代替Windows平台的VB+ACCESS/MS SQL SERVER组合。 MySQL数据库具有以下特性: 使用C和C++编写,并...
MySQL数据库以及Perl、Python或者PHP编程语言的结合)组合 重要组成部分,同时它提供的C API可以结合Glade/GTK+,代替Windows平台的VB+ACCESS/MS SQL SERVER组合。 MySQL数据库具有以下特性: 使用C和C++编写,并...
2012-06-11 21:06 3,769,694 基于LABVIEW编程环境的SQLSERVER ACCESS MYSQL 数据库的测试源代码.rar 2012-06-11 21:12 81,505 基于神经网络的文字识别系统.rar 2012-06-11 21:07 39,498 基因遗传算法.zip 2012-06-11...