sql-server – 连接到SQL Server的Ruby

前端之家收集整理的这篇文章主要介绍了sql-server – 连接到SQL Server的Ruby前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我遇到麻烦连接 Ruby到Microsoft sql Server.我正在运行Mac OS X,但目标环境是Ubuntu Linux.

这是我试过的:

>安装unixODBC
>安装FreeTDS

>使用选项–with-unixodbc = /usr/local / etc –with-tdsver = 8.0

然后我在/usr/local / etc中有这些文件

> odbc.ini
> odbcinst.ini
> freetds.conf

我将odbcinst.ini文件中的FreeTDS驱动程序的引用添加到我的ODBC驱动程序文件,如下所示:

  1. ;
  2. ; odbcinst.ini
  3. ;
  4. ;
  5. [FreeTDS]
  6. Driver = /usr/local/lib/libtdsodbc.so

然后我在freetds.conf文件中配置了服务器,如下所示:

  1. # Aries database server (sql Server 2008)
  2. [aries-db1]
  3. host = xx.xx.xx.xx
  4. port = 1433
  5. tds version = 8.0

最后我在odbc.ini文件添加了ODBC DSN,如下所示:

  1. [aries-db1]
  2. Driver = FreeTDS
  3. Description = ODBC Connection via FreeTDS
  4. Trace = 1
  5. Servername = aries-db1
  6. Database = MY_DB
  7. UID = user1
  8. PWD = pass1

我可以验证我的服务器是否在线,端口是否打开(通过telnet& yougetsignal.com端口检查).

作为测试,我做到了这一点:

  1. tsql -S aries-db1 -U user1 -P pass1

似乎连接好了.传递无效值会导致预期的错误.

所以最后我的问题:

如何将其扩展到Ruby?到目前为止,我没有尝试任何工作.我这样尝试Sequel:

  1. require 'sequel'
  2. Sequel.connect('aries-db1')['select * from foo'].all

我得到一个这样的错误

  1. Sequel::DatabaseConnectionError: ODBC::Error: S1000 (0) [unixODBC][FreeTDS][sql Server]Unable to connect to data source

哪个告诉我它正在找到我的驱动程序配置,但由于某些原因无法连接.

我也尝试过这样的DBI:

  1. DBI.connect('DBI:ODBC:aries-db1')

我也收到一个类似的错误.

有什么建议么?我觉得我非常接近,但不知道接下来要尝试什么来解决这个问题.

解决方法

看一下
https://github.com/rails-sqlserver/tiny_tds
TinyTds – 使用DB-Library的Ruby的现代化,简单快速的FreeTDS库

其易于安装和易于使用

猜你在找的MsSQL相关文章