可以通过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数据库方法详解 在本篇文章中,我们将详细介绍如何使用Ruby语言连接并操作部署在Windows系统下的SQL Server数据库。该方法适用于希望使用Ruby进行数据库操作的开发者们,尤其是...
综上所述,该文档详细介绍了使用MySQL Workbench中的Migration Wizard从Microsoft SQL Server到MySQL的迁移过程,以及MySQL作为开源数据库的普及性、成本效益以及在LAMP技术栈中的重要地位。文档还说明了迁移工具...
标签“Ruby开发-数据库驱动器”表明这与Ruby语言的数据库连接有关,TinyTDS就是这样的工具,为Ruby提供了一种与SQL Server交互的方式。 在压缩包文件“tiny_tds-master”中,我们可以预期找到TinyTDS项目的源代码...
首先,连接Oracle数据库需要Ruby的一个特定库——Ruby/Oracle 调用接口 (OCI8),它是基于Ruby/DBI模块的数据库驱动程序。RubyDBI提供了一个抽象层,使得开发者能够使用统一的API与不同的数据库系统(如JDBC或ODBC)...
"Using-the-PetaPoco-ORM-to-manage-SQLServer-SQLIte.pdf"文档很可能是教程或者指南,详细解释了如何在SQL Server和SQLite数据库上使用PetaPoco。文档可能会涵盖上述所有概念,并提供具体的代码示例。 总结起来,...
FreeTDS在该平台上的顺利安装意味着它可以作为这些环境中连接SQL Server的可靠工具。 FreeTDS的主要功能包括: 1. **多平台支持**:FreeTDS不仅支持Linux,还支持其他Unix变体,如FreeBSD、OpenBSD等,甚至可以在...
对于连接到Microsoft SQL Server(MSSQL),则需要使用不同的适配器,例如`sqlserver`或`tinytds`,并且可能需要额外的库,如`activerecord-sqlserver-adapter`。配置可能会类似这样: ```yaml production: ...
C:\railsDemo>ruby script/server ``` 这将启动Rails内置的服务器,并监听默认端口 `3000`。 #### 七、测试效果 最后一步是在浏览器中访问 `http://localhost:3000/category` 来查看我们的Rails应用程序的效果。...
7. **ODBC支持**:通过ODBC(Open Database Connectivity),FreeTDS使得Linux和Unix上的应用能够像在Windows上一样使用SQL Server,扩大了应用的可移植性。 8. **性能优化**:FreeTDS团队持续优化库的性能,包括更...
1. **Ruby环境**:Redmine依赖于Ruby语言进行运行,因此首先需要在Windows系统上安装Ruby。 2. **数据库**:Redmine可以与多种数据库配合使用,本教程将以MySQL为例。 3. **Redmine源码包**:从官方渠道获取最新...
- **SQL 数据库**:关系型数据库服务,支持 SQL Server 和其他 SQL 兼容数据库。 - **SQL 导入/导出**:方便地迁移数据到云端或从云端迁移数据到本地。 ##### 3. 应用服务 - **Active Directory**:提供身份验证和...
完成上述步骤后,你可以通过运行`ruby script/server`在Redmine根目录启动内置的Webrick服务器。在浏览器中输入`http://localhost:3000`,如果页面显示正常,说明Redmine已成功安装。 Redmine的插件安装也非常简单...
总的来说,"homebrew-mssql-release"提供了一个方便的方式来在macOS系统上安装和管理SQL Server的ODBC驱动和命令行工具,使得开发人员和数据库管理员能够在苹果平台上无缝地工作,与Windows环境下的SQL Server保持...
要连接到SQL Server,可能需要第三方gem,如`activerecord-sqlserver-adapter`,因为它不是RoR的标准库支持的数据库。 3. **动态显示**:RoR允许通过 erb(嵌入式Ruby)模板在视图中动态生成HTML,根据数据库中的...
MySQL在大型数据库如Oracle、DB2、SQL Server等面前,虽然规模较小,但由于其开源免费的特点,受到很多技术人员的喜爱。对于许多小企业和个人开发者来说,MySQL提供的功能已经足够,并且MySQL作为开源软件拥有较低的...
sqldbx连接db2必备 IBM 数据服务器客户机版本 11.5.0.0 。多合一版本包含各类驱动JDBC、ODBC、CLI等 IBM 数据服务器客户机是用于 DB2 数据服务器的一组客户机应用程序驱动程序和工具。它支持运行使用了嵌入式 SQL...