错误:无法加载或初始化请求的服务提供程序。 - 插座(2)

时间:2009-10-09 16:23:09

标签: windows ruby networking nrpe

我正在运行一个使用Ruby / MySQL和net / ftp的ruby脚本。该脚本在Windows Vista上运行,并且正在尝试创建与同一远程Solaris服务器的数据库和ftp连接。

以下是代码的要点:

require 'mysql'
require 'net/ftp'

dbh = Mysql.real_connect(db["host"], db["user"], db["pass"], db["name"])
ftp = Net::FTP.new(ftp["host"])

现在,如果我从它所在的Vista框中运行脚本,那么一切正常。但是,脚本是通过NRPE从另一台服务器调用的,而且是在发生错误时。

如果我将db [“host”] / ftp [“host”]设置为等于远程服务器的完全限定域名,则这是我收到的错误:

getaddrinfo: no address associated with hostname.

收到该错误后,我尝试从脚本中ping服务器,并且确实在尝试ping主机名时失败了,但是,当我ping了IP地址时,它工作正常。

但是如果我将db [“host”] / ftp [“host”]设置为远程服务器的IP地址,我会收到此错误:

The requested service provider could not be loaded or initialized. - socket(2)

我很难找到有关如何调试此信息的任何信息,因此如果有人有任何想法,我们将非常感激。

提前致谢。

1 个答案:

答案 0 :(得分:0)

事实证明,该脚本是从不同的用户远程运行的,而不是在本地运行时。我不确定导致问题的环境变化是什么,但是一旦我们将远程实例设置为与本地一样的用户运行一切正常。