`
inosin
  • 浏览: 91074 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux下用ruby访问SQL SERVER数据库

    博客分类:
  • ruby
阅读更多
先安装 unixODBC
wget ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.0.tar.gz
./configure
make && make install
默认安装在 /usr/local/lib目录下
ini配置文件在 /usr/loca/etc 目录下

wget http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
./configure --with-unixodbc=/usr/local --with-tdsver=7.1 --with-gnutls --enable-msdblib
* 访问 Microsoft SQL Server 2008,需要 TDS protocol version = 7.1,freetds新版本(0.91)已经去掉了7.2和8.0,最高只到7.1了,如果指定7.1以上版本,将使用默认的5.0版本
* 访问SQL Server 需要 Enable SSL using GnuTLS
*** redhat 需要 gnutls 和 gnutls-devel 包
make && make install
tsql -C
查看安装信息是否正确,如果不正确可以指定TDSVER进行连接测试
# TDSVER=7.1 tsql -H 192.168.5.7 -p 1433 -U sa

建立一个tds驱动文件模板: /usr/local/etc/tds.driver.template
[FreeTDS]
Description     = v0.91 with protocol v7.1
Driver          = /usr/local/lib/libtdsodbc.so


注册tds驱动:
$ odbcinst -i -d -f tds.driver.template


在 odbc.ini 文件中配置 ODBC Data Source Names (DSN)
[DSN]
Driver  = FreeTDS 
Description     = some Description
Trace   = No 
Server      = <database server IP>
Port      = <database server PORT>
Database        = <Database_Name>


范例:
[MS_PASSPORT] 
Driver = FreeTDS 
Description = MS passport connection via FreeTDS 
Trace = No 
Server = 192.168.7.5
Database = MS.Passport
Port  = 1433

[MS_BLOG] 
Driver = FreeTDS 
Description = MS Blog connection via FreeTDS 
Trace = No 
Server = 192.168.7.5
Database = MS.Blog
Port  = 1433


测试通过:
[root@redhat freetds-0.82]# odbcinst --v
unixODBC 2.3.0
[root@redhat freetds-0.82]# odbcinst -q -d
[FreeTDS]
[root@redhat freetds-0.82]# odbcinst -q -s
[MS_PASSPORD]
[MS_BLOG]

[root@redhat freetds-0.82]# isql -v MS_BLOG sa msdn
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select top 10 * from [user]
...

连接查询成功

安装ruby包:
gem install ruby-odbc
gem install dbi
gem install dbd-odbc

测试:
irb
require 'rubygems'
require 'dbi'

dbh = DBI.connect('dbi:ODBC:MS_PASSPORT', 'sa', 'msdn')

dbh.select_all('select top 10 * from [user]'){|row| p row}

sth=dbh.prepare('select top 10 * from [user]')
sth.execute
while row=sth.fetch do
  puts row
end

测试通过
分享到:
评论

相关推荐

    Ruby中访问SQL Server数据库的配置实例

    在Ruby编程环境中,如果你需要与Microsoft SQL Server数据库进行交互,可以使用特定的工具和库来实现这一目标。本文将详细讲解如何配置Ruby环境以便访问SQL Server数据库,主要涉及两个关键组件:FreeTDS和Tiny_TDS...

    从sql server完美迁移到MySql-使用Migration Wizard

    首先,根据文档标题和描述,我们可以明确这篇指南主要讲述了如何使用MySQL Workbench中的Migration Wizard工具来实现从Microsoft SQL Server到MySQL的数据库迁移。Migration Wizard是一个图形化的工具,它能够指导...

    freetds-0.95.80.tar.gz

    FreeTDS是一个开源的软件项目,它为Unix和Linux系统提供了连接Microsoft SQL Server和Sybase数据库的能力。这个软件包名为“freetds-0.95.80.tar.gz”,表明这是FreeTDS的一个版本0.95.80的源代码压缩包,通常以`....

    freetds-1.2.13.tar.gz

    FreeTDS实现了这个协议,使得非Windows平台的应用程序也能方便地访问SQL Server数据库。 在`freetds-1.2.13`这个版本中,我们能够找到以下关键知识点: 1. **版本信息**:1.2.13是FreeTDS的一个稳定版本,它可能...

    开发语言-数据库-操作系统

    非关系型数据库通常指的是不使用 SQL 查询语言的数据存储系统,它们提供了灵活的数据模型,能够处理大量数据和高并发访问。常见的 NoSQL 数据库有 MongoDB、Cassandra、Redis 等。 #### 其他数据库 此外,还有一些...

    第一天:蜘蛛数据库浏览器网站

    2. **数据库连接**:RoR使用ActiveRecord,这是ORM(对象关系映射)库,它允许开发者用Ruby代码操作数据库,无需编写SQL查询。要连接到SQL Server,可能需要第三方gem,如`activerecord-sqlserver-adapter`,因为它...

    基于linux环境下的2048小游戏2048.zip

    数据库技术:如关系型数据库(如MySQL、Oracle、SQL Server)和非关系型数据库(如MongoDB、Redis)等。 前端开发:HTML、CSS、JavaScript等用于构建网页和Web应用程序的技术。 后端开发:涉及服务器端编程、API开发...

    My SQL知识大全

    MySQL在大型数据库如Oracle、DB2、SQL Server等面前,虽然规模较小,但由于其开源免费的特点,受到很多技术人员的喜爱。对于许多小企业和个人开发者来说,MySQL提供的功能已经足够,并且MySQL作为开源软件拥有较低的...

    尝试在Linux开发板上实现2048这款经典的游戏Game-2048_Linux.zip

    数据库技术:如关系型数据库(如MySQL、Oracle、SQL Server)和非关系型数据库(如MongoDB、Redis)等。 前端开发:HTML、CSS、JavaScript等用于构建网页和Web应用程序的技术。 后端开发:涉及服务器端编程、API开发...

    Linux系统管理技术手册

    - **数据库资源**:提供了关于MySQL、SQL Server、Oracle等数据库管理系统的学习资料。 - **设计资源**:包括平面设计、Flash动画设计、3D动画设计等。 - **Linux及其他操作系统资源**:这部分是与主题最为相关的...

    dockersqlserver:分步配置用于您的应用程序的docker容器。 还显示了如何使用VSCode和Azure Data Studio配置连接

    使用Docker来处理SQL Server数据库,而无需在计算机上进行安装。 关于Docker的一些解释 用其他语言阅读:, 想象一下,您正在工作或正在学习许多不同的技术,我的情况,有罪!!! 或我们中许多使用NodeJS , React ...

    linux c 配合ncurses实现的FlappyBird游戏Text-bird.zip

    数据库技术:如关系型数据库(如MySQL、Oracle、SQL Server)和非关系型数据库(如MongoDB、Redis)等。 前端开发:HTML、CSS、JavaScript等用于构建网页和Web应用程序的技术。 后端开发:涉及服务器端编程、API开发...

    计算机精品学习资料大放送

    数据结构 数据库: SQL Server MySQL Oracle Web开发: HTML/CSS JavaScript PHP Flex/AIR XML 类Unix: Linux基础 Linux高级 Linux编程 UNIX BSD Solaris Mac OS 辅助设计: 平面设计 Flash动画 3D动画 AutoCAD ...

    linux mint 下mysql中文支持问题

    最后,对于那些对Linux系统、MySQL数据库、Python编程或SQL有进一步兴趣的读者,可以参考以下文章: - 如何在Linux系统上部署Apache+Python+Django+MySQL环境 - Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程 - ...

    Linux系统上配置Nginx+Ruby on Rails+MySQL超攻略

    在本文中,我们将深入探讨如何在Linux系统上配置一套高性能的Web开发环境,即Nginx、Ruby on Rails和MySQL的集成。这个配置方案被广泛推荐,特别是对于需要高效能和稳定性的Web应用。 首先,我们来安装RVM(Ruby ...

    MySQL数据库详细介绍

    与其他大型数据库系统如Oracle、DB2、SQL Server相比,MySQL的优势在于其轻量级且易于部署。尽管在某些方面可能不如这些大型系统强大,但对于大多数中小企业来说,MySQL所提供的功能已经足够,并且由于其开源性质,...

Global site tag (gtag.js) - Google Analytics