[英]Ruby connecting to SQL Server
我在将Ruby连接到Microsoft SQL Server时遇到了麻烦。 我正在运行Mac OS X,但目标环境是Ubuntu Linux。
这是我尝试过的:
然后我在/usr/local/etc
有这些文件:
odbc.ini
odbcinst.ini
freetds.conf
我将odbcinst.ini
文件中的FreeTDS驱动程序的引用添加到我的ODBC驱动程序文件中,如下所示:
;
; odbcinst.ini
;
;
[FreeTDS]
Driver = /usr/local/lib/libtdsodbc.so
然后我在freetds.conf
文件中配置服务器,如下所示:
# Aries database server (SQL Server 2008)
[aries-db1]
host = xx.xx.xx.xx
port = 1433
tds version = 8.0
最后我在odbc.ini
文件中添加了ODBC DSN,如下所示:
[aries-db1]
Driver = FreeTDS
Description = ODBC Connection via FreeTDS
Trace = 1
Servername = aries-db1
Database = MY_DB
UID = user1
PWD = pass1
我可以验证我的服务器是否在线且端口是否打开(通过telnet和yougetsignal.com端口检查)。
作为测试,我这样做了:
tsql -S aries-db1 -U user1 -P pass1
它似乎连接得很好。 传入无效值会导致预期的错误。
最后我的问题:
我如何将其扩展到Ruby? 到目前为止,我没有尝试过任何工作。 我像这样尝试了Sequel:
require 'sequel'
Sequel.connect('aries-db1')['select * from foo'].all
我收到这样的错误:
Sequel::DatabaseConnectionError: ODBC::Error: S1000 (0) [unixODBC][FreeTDS][SQL Server]Unable to connect to data source
这告诉我它正确找到我的驱动程序配置,但由于某种原因无法连接。
我也试过像这样的DBI:
DBI.connect('DBI:ODBC:aries-db1')
而且我得到了类似的错误。
有什么建议? 我觉得我非常接近,但我不确定接下来要尝试解决这个问题。
查看https://github.com/rails-sqlserver/tiny_tds TinyTds - 使用DB-Library为Ruby提供现代,简单,快速的FreeTDS库
它易于安装且易于使用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.