INFORMIXSERVER与DBSERVERNAME或DBSERVERALIASES都不匹配

问题描述 投票:1回答:1

我已经安装了Informix Client SDK。然后我创建了一个引用IBM.Data.Informix.dll的简单.net控制台应用程序。当我打电话给IfxConnection.Open()时,它会引发异常。

错误[HY000] [Informix .NET提供程序] [Informix] INFORMIXSERVER与DBSERVERNAME或DBSERVERALIASES都不匹配。在sqlerrm(数据库)

我已经看到这个post,我似乎无法在客户端机器中找到sqlhosts文件。另外,我也不能将环境变量提到帖子中。

所以我的问题是:

  1. 如何创建sqlhosts文件以及它将保存在哪里?这是在数据库服务器或客户端机器中还是两者都有?
  2. 需要什么环境变量?
c# .net sdk informix
1个回答
1
投票

在Windows机器中,所需的配置由Setnet32实用程序(随Informix Client SDK一起安装)定义。您需要在该实用程序中设置Informix实例值,以使连接提供程序正常工作(Informix .NET Provider)。


首先在第三个选项卡中定义“主机信息”,然后单击“应用”(顺便说一句,我在西班牙语Windows机器中!):

enter image description here

注意:“当前主机”值应添加到主机Windows文件(%WINDIR%\System32\drivers\etc\hosts)中。


然后,在第二个选项卡中定义“服务器信息”:

  • IBM Informix Server是您的Informix实例名称(INFORMIXSERVER)。
  • 主机名使用上一步(第三个选项卡)中定义的主机填充。
  • Protocolname是用于与服务器通信的协议(如果您使用的是不安全的TCP连接,则可能是'olsoctcp'或'onsoctcp'。请参阅the official documentation以检查要使用的值)。
  • 服务名称是用于服务器通信服务的名称,应该将其添加到服务Windows文件中(%WINDIR%\System32\drivers\etc\services

Setnet32: Server Information

完成这些更改后,您应该能够运行.NET应用程序。显然,您的连接字符串值应与此实用程序中定义的信息匹配。

© www.soinside.com 2019 - 2024. All rights reserved.