错误:请求的服务提供者无法加载或初始化。 - 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)
我有一个很难找到任何关于如何调试的信息,所以如果有人有任何想法,他们将不胜感激。
在此先感谢。
答
原来,这个脚本是从一个不同的用户远程运行而不是在本地运行的。我不确定引起问题的环境如何改变,但是一旦我们将远程实例设置为与本地相同的用户运行,那么一切正常。