错误:请求的服务提供者无法加载或初始化。 - socket(2)

问题描述:

我正在运行使用Ruby/MySQL和net/ftp的ruby脚本。该脚本运行在Windows Vista框中,正在尝试创建到同一台远程Solaris服务器的数据库和ftp连接。错误:请求的服务提供者无法加载或初始化。 - socket(2)

这里是代码的要点:

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从另一台服务器中调用,这就是错误发生的时间。

如果设置分贝[“宿主”]/FTP [“宿主”]等于这里的远程服务器的完全合格的域名是错误我接收:

getaddrinfo: no address associated with hostname. 

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

不过,如果我设置DB [“主机”]/FTP [“主机”]到远程服务器的IP地址,我得到这个错误:

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

我有一个很难找到任何关于如何调试的信息,所以如果有人有任何想法,他们将不胜感激。

在此先感谢。

原来,这个脚本是从一个不同的用户远程运行而不是在本地运行的。我不确定引起问题的环境如何改变,但是一旦我们将远程实例设置为与本地相同的用户运行,那么一切正常。