TinyTds ::错误:无法打开套接字

时间:2012-07-19 15:14:15

标签: ruby-on-rails sockets sql-server-2000 tiny-tds

我已经研究了几个小时了,我似乎无法找到解决方案。

我有一个Rails 2应用程序,它使用TinyTds gem(tiny_tds)连接到我们公司本地托管的SQL 2000服务器。

在过去6个月中,应用程序几乎每天都连接到SQL Server,没有任何问题。

突然,昨天尝试连接时,我开始收到错误:

TinyTds::Error: Unable to open socket
from /var/lib/gems/1.8/gems/tiny_tds-0.4.5/lib/tiny_tds/client.rb:60:in `connect'
from /var/lib/gems/1.8/gems/tiny_tds-0.4.5/lib/tiny_tds/client.rb:60:in `initialize'

从我的研究中,我看到有人建议我使用 SO_REUSEADDR允许它连接并忽略超时或“使用”限制,如下所示: setsockopt(sock,SOL_SOCKET,SO_REUSEADDR) 但我无法弄清楚如何在当前上下文中使用该命令。 我尝试在服务器上的commmandline中调用它,它将无法正常工作,但话又说回来,我不确定它是做什么的,或者我是否可以从命令行调用它。

我试过打电话 netstat -a 它显示了当前的套接字,但我不知道如何处理这些信息。

我也看到了 服务重启
可以重新启动套接字,但我不确定要重启哪个套接字。

最后,在我的freetds.conf配置文件中,我有以下设置:

host = 192.168.0.220 
port = 1433
tds version = 8.0

我不确定要走哪条路。我对Rails很满意,但是这个套接字的东西超出了我目前的理解范围。这也是一个Rails 2应用程序(遗留),这是我们的业务使用的一些核心流程的关键。我们无法升级到Rails 3,因为SQL 2000 Server的SQL服务器适配器gem不能与Rails 3一起使用。

有人可以帮忙吗?

0 个答案:

没有答案