ruby-on-rails-3 - 将 Redhat 连接到 SQL Server 2008 for Ruby on Rails

标签 ruby-on-rails-3 sql-server-2008 redhat freetds unixodbc

我正在尝试将 Redhat Linux 连接到 Microsoft SQL Server 2008。我已经在 Windows(我的测试机器)上设置它时遇到了问题,但现在我需要将它部署在将投入生产的 Linux 机器上。

所以我已经安装了 unixODBC 和 FreeTDS(付出了很多努力,甚至不确定它是否正确安装:S),结果是我在 /usr/local/etc 中有 3 个文件。 :

odbc.ini
odbcinst.ini
freetds.conf

然后我编辑了 freetds.conf文件,这是我添加的内容:
[sqlServer]
host = servername
port = 4113
instance = sqlServer
tds version = 8.0
client charset = UTF-8

我必须从我的 DBA 中找出端口号,因为它在 SQL Server 2008 中设置为动态。

我的 odbcinst.ini文件如下所示:
[FreeTDS]
Description     = TDS driver (Sybase/MS SQL)
Driver          = /usr/local/lib/libtdsodbc.so
Setup           = /usr/local/lib/libtdsS.so
CPTimeout       =
CPReuse         =
FileUsage       = 1

和我的 odbc.ini文件如下所示:
[sqlServer]
Driver = FreeTDS
Description     = ODBC connection via FreeTDS
Trace           = 1
Servername      = sqlServer
Database        = RubyApp

所以现在我尝试连接以查看是否有任何连接使用
tsql -S sqlServer -U test -P test ,
但是,这只会给我以下错误:
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Error 20013 (severity 2):
        Unknown host machine name.
There was a problem connecting to the server

当我尝试使用 isql 时,做 isql -v sqlServer test test ,吐出以下错误:
[S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source
[01000][unixODBC][FreeTDS][SQL Server]Unknown host machine name.
[ISQL]ERROR: Could not SQLConnect

任何想法我可能做错了什么?

最佳答案

如果您无法使用 tsql 连接,则说明您的 SQL 服务器或在 freetds.conf 中存在连接问题。 .

首先使用 tsql -LH [SQL server IP] 验证端口和命名实例

# tsql -LH 127.0.0.1
  ServerName HOME
InstanceName INSTANCE1
 IsClustered No
     Version 10.50.2500.0
         tcp 1434

如果这不起作用,则您的服务器和 SQL 服务器之间存在连接问题。

如果确实有效,则将您的端口设置为匹配 tcp 以上在 freetds.conf .
[TDS]
host = 127.0.0.1
port = 1434
tds version = 7.0

实例设置在您的 odbc.ini
[MSSQLExample]
Description = Example server
Driver = FreeTDS
Trace = No
Server = 127.0.0.1\INSTANCE1
Database = MyDatabase
port = 1434

如果所有其他方法都失败了,请尝试使用 osql获得一些关于哪个部分不起作用的反馈。
# osql -S MSSQLExample -U USERNAME -P PASSWORD

以及一些关于 tsql 错误消息的好信息:http://freetds.schemamania.org/userguide/confirminstall.htm

关于ruby-on-rails-3 - 将 Redhat 连接到 SQL Server 2008 for Ruby on Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7556794/

相关文章:

ruby-on-rails-3 - Stripe订阅后可以更新订阅金额吗?

sql-server - 在 MS SQL Server 中为每个类别返回 5 篇最新文章

linux下如何安装mdump msend

linux - 无法从 Linux 中的同一台机器上 ping 通主机名

ruby-on-rails - 在Rails中创建域表(查找表)的首选方法是什么

ruby-on-rails - rails : Is there an update or update_attributes that throws exception on failure?

ruby - bundler 什么时候更新指向 git repo 的 gem incase?

sql-server-2008 - 如何让SQL表变大

sql - 关于表格修改的问题

Linux 中的 C++ 可执行文件签名