INFORMIXSERVER 与 DBSERVERNAME 或 DBSERVERALIASES 都不匹配
INFORMIXSERVER does not match either DBSERVERNAME or DBSERVERALIASES
我已经安装了 Informix Client SDK。然后我创建了一个简单的 .net 控制台应用程序引用 IBM.Data.Informix.dll。当我调用 IfxConnection.Open()
时它抛出异常。
ERROR [HY000] [Informix .NET provider][Informix]INFORMIXSERVER does
not match either DBSERVERNAME or DBSERVERALIASES.
sqlerrm(database)
我已经看到了这个 但我似乎无法在客户端计算机中找到 sqlhosts 文件。我也不能提到 post 的环境变量。
所以我的问题是:
- 如何创建 sqlhosts 文件并将其保存在何处?这将在数据库服务器或客户端计算机或两者中?
- 需要什么环境变量?
在 Windows 机器中,所需的配置由 Setnet32 实用程序(与 Informix Client SDK 一起安装)定义。您需要在该实用程序中设置 Informix 实例值,连接提供程序才能工作(Informix .NET 提供程序)。
首先在第三个选项卡中定义您的 "Host Information",然后单击应用(顺便说一下,我使用的是西班牙语 Windows 机器!):
注意:"Current Host" 值应添加到您的主机 Windows 文件 (%WINDIR%\System32\drivers\etc\hosts
)。
然后,在第二个选项卡中定义您的"Server Information":
- IBM Informix Server 是您的 Informix 实例名称 (
INFORMIXSERVER
)。
- 主机名填充了上一步(第三个选项卡)中定义的主机。
- Protocolname 是用于与您的服务器通信的协议(如果您使用的是不安全的 TCP 连接,它可能是 'olsoctcp' 或 'onsoctcp'。请参阅 the official documentation 进行检查使用哪个值)。
- 服务名称是用于您的服务器通信服务的名称,应将其添加到您的服务Windows文件中(
%WINDIR%\System32\drivers\etc\services
)
进行这些更改后,您应该可以 运行 您的 .NET 应用程序。显然,您的连接字符串值应该与此实用程序中定义的信息相匹配。
我已经安装了 Informix Client SDK。然后我创建了一个简单的 .net 控制台应用程序引用 IBM.Data.Informix.dll。当我调用 IfxConnection.Open()
时它抛出异常。
ERROR [HY000] [Informix .NET provider][Informix]INFORMIXSERVER does not match either DBSERVERNAME or DBSERVERALIASES. sqlerrm(database)
我已经看到了这个
所以我的问题是:
- 如何创建 sqlhosts 文件并将其保存在何处?这将在数据库服务器或客户端计算机或两者中?
- 需要什么环境变量?
在 Windows 机器中,所需的配置由 Setnet32 实用程序(与 Informix Client SDK 一起安装)定义。您需要在该实用程序中设置 Informix 实例值,连接提供程序才能工作(Informix .NET 提供程序)。
首先在第三个选项卡中定义您的 "Host Information",然后单击应用(顺便说一下,我使用的是西班牙语 Windows 机器!):
注意:"Current Host" 值应添加到您的主机 Windows 文件 (%WINDIR%\System32\drivers\etc\hosts
)。
然后,在第二个选项卡中定义您的"Server Information":
- IBM Informix Server 是您的 Informix 实例名称 (
INFORMIXSERVER
)。 - 主机名填充了上一步(第三个选项卡)中定义的主机。
- Protocolname 是用于与您的服务器通信的协议(如果您使用的是不安全的 TCP 连接,它可能是 'olsoctcp' 或 'onsoctcp'。请参阅 the official documentation 进行检查使用哪个值)。
- 服务名称是用于您的服务器通信服务的名称,应将其添加到您的服务Windows文件中(
%WINDIR%\System32\drivers\etc\services
)
进行这些更改后,您应该可以 运行 您的 .NET 应用程序。显然,您的连接字符串值应该与此实用程序中定义的信息相匹配。