`
inosin
  • 浏览: 89951 次
  • 性别: 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

测试通过
分享到:
评论

相关推荐

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

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

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

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

    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 ...

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

    在Ruby on Rails中创建网站以动态显示和导航SQL Server数据库

    教务系统设计数据库设计.doc

    教务系统数据库设计 课题的研究背景与意义 课题的研究... 1、开发工具的选择 用Tomcat作Web服务器,利用My Eclipse设计代码,使用MySQL建立数据库。 2、运行环境要求 中央处理器:Inter Pentium 4 2.67GHz或更高性能

    教务系统设计数据库设计(1).doc

    教务系统数据库设计 课题的研究背景与意义 课题的... 1、开发工具的选择 用Tomcat作Web服务器,利用My Eclipse设计代码,使用MySQL建立数据库。 2、运行环境要求 中央处理器:Inter Pentium 4 或更高性能的CPU(推荐

    多进程mysql,和传统MySQL Server 不同.rar

    使用 C 和 C++ 编写,并使用了多种编译器进行测试,保证源代码的可移植性。 支持 AIX、BSDi、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、NetBSD、OpenBSD、OS/2 Wrap、Solaris、SunOS、Windows 等多种操作系统...

    安卓毕业设计a源码网站-ashwinsoerdien.github.io:ashwinsoerdien.github.io

    Ruby on Rails 和 PHP 的工作知识 CentOS、红帽 Linux、macOS 和 Windows Apache Tomcat 应用服务器 PostgreSQL、Oracle、Microsoft SQL Server 数据库 通过 AWS 部署应用程序 SOAP 和基于 REST 的 Web 服务 使用 ...

    Ric.Shreves.PDF文字版.pdf

    数据库管理系统(DBMS)精品学习资源汇总:MySQL篇 | SQL Server篇 | Oracle篇 平面设计优秀资源学习下载 | Flash优秀资源学习下载 | 3D动画优秀资源学习下载 最强HTML/xHTML、CSS精品学习资料下载汇总 最新JavaScript...

    Firework-开源

    Firework是使用ASP,VBScript,SqlServer和mySql的内容管理系统/门户网站系统。 在使用Sql Server 2000在ASP.NET上运行的版本2进行升级之后,我们现在使用带有MySql数据库的Ruby on Rails迁移到Linux平台上。

    Date-a-Face:CS 411 最佳组

    'source ~/path/to/init.sql' 在 linux/mac Windows 上的“源 C://path/to/init.sql” 类型: source ~/path/to/dummy_data.sql' 生成虚拟数据 笔记 在更改代码之前拉! 避免冲突 记得把connection.js里面的...

    JAVA上百实例源码以及开源项目源代码

    得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥验证签名结果,使用公钥初始化签名对象,用于...

    JAVA上百实例源码以及开源项目

    得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥验证签名结果,使用公钥初始化签名对象,用于...

    若干源程序资料12.rar

    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...

Global site tag (gtag.js) - Google Analytics