代码之家  ›  专栏  ›  技术社区  ›  J.C. Yamokoski

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

  •  2
  • J.C. Yamokoski  · 技术社区  · 16 年前

    我正在运行一个使用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.
    

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

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

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

    提前感谢。

    1 回复  |  直到 16 年前
        1
  •  0
  •   J.C. Yamokoski    16 年前

    事实证明,该脚本是由与本地运行时不同的用户远程运行的。我不太确定导致问题的环境发生了什么变化,但一旦我们设置远程实例以与本地相同的用户身份运行,一切都很正常。

    推荐文章