查找 Informix 数据库服务器

Sar*_*aya 2 informix

我有一台服务器,我知道上面Informix安装了一个,但我不知道是谁安装的。有封闭源客户端连接到该服务器,但除了用户名和密码之外,我无法获得任何相关信息。我不知道如何连接它,我不知道它的端口号和服务器名称是什么。我已经下载SQuirreLJDBC Informix驱动程序。

如何在不知道端口和服务器名称的情况下连接到 JDBC Informix 服务器?

Pri*_*man 6

简而言之,您将需要端口号、服务器名称(以及数据库名称)才能连接到 Informix。

假设您有权限在安装 Informix 的机器上搜索,那么可能会在一些地方找到有关您的 Informix 服务器的详细信息。由于我没有看到有关在您的案例中安装 IDS (Informix) 的平台的任何详细信息,因此我将尝试提供适用于 Unix 和 Windows 平台的信息。但首先,一些背景:

设置与 Informix 的连接不需要太多参数。通常,您只需要:

  • 用户名
  • 密码
  • 服务器的IP地址
  • 港口
  • 服务器名称(Informix 实例的名称)
  • 数据库名称(您要连接到的 [Server Name] 上的 db 的名称)

听起来你需要找出最后三个。

Linux:

在 Linux 平台(以及 Windows,我相信)上,存在指向系统 Informix 安装位置的环境变量。其中最重要的是 %INFORMIXDIR%,它指向 Informix 安装的根目录。但是,很多时候,Informix 安装在/opt 中,因此请在那里尝试。

在典型安装的%INFORMIXDIR%/etc 中有一个名为sqlhosts的文件(它可能有您特定服务器实例的后缀,但它会以 sqlhosts 开头)。该文件中包含服务器名称,可能还有端口号。%INFORMIXDIR%/etc/sqlhosts 包含以下格式的纯文本数据:

ServerName  NetType   HostName   Port/ServicesName
Run Code Online (Sandbox Code Playgroud)

第一个值是您要查找的服务器名称。第四个值 (Port/ServicesName) 要么是端口号,要么是/etc/services中引用该端口号的条目的名称。如果您没有看到端口号,请查看/etc/services

例如,sqlhosts 可能包含如下内容:

myservername   onsoctcp   informix.mydomain.com   12345
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您的服务器名称是“myservername”,端口是 12345

或者,它可能如下所示:

myservername   onsoctcp   informix.mydomain.com   informixservice
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您必须在/etc/services 中查找一行显示

informixservice     12345/tcp
Run Code Online (Sandbox Code Playgroud)

它会告诉你端口。

视窗

警告:我从未处理过安装在 Windows 上的 Informix 服务器,但是根据 IBM 文档,它在手头的任务方面似乎没有太大不同。

您寻找的信息包含在注册表项中,而不是文件%INFORMIXDIR/etc/sqlhosts

HKEY_LOCAL_MACHINE\SOFTWARE\INFORMIX\SQLHOSTS
Run Code Online (Sandbox Code Playgroud)

使用 regedit.exe 读取存储在此条目中的值。

如果在该注册表项中找不到端口号,则 Unix 的/etc/services文件的 Windows 等效文件是

C:\Windows\System32\drivers\etc\services
Run Code Online (Sandbox Code Playgroud)

用文本编辑器检查这个文件(记事本工作正常)。

希望这会有所帮助。祝你好运。