Skip To Content

从 ArcGIS 连接到 Informix

可以从 ArcMapArcGIS Server 连接到 IBM Informix。为此,可在 ArcGIS 客户端计算机上安装并配置 Informix 客户端应用程序,以通过 ArcGIS 客户端连接到 Informix 中的数据库或地理数据库。可为 Informix 数据库配置 ODBC 数据源名称,并使用该名称进行连接,或者也可以使用非 DSN 连接字符串进行连接。

要使用已发布到 ArcGIS Server 的服务中的 Informix 数据,请创建服务定义文件并将其发布到 ArcGIS Server 站点。

ArcMap 进行连接

要从 ArcMap 连接到 Informix 中的数据库或地理数据库,应在 ArcMap 计算机上安装 Informix Connect 客户端,然后通过 Setnet32 注册 Informix 服务器并在 ArcMap 中创建连接文件。可使用 ODBC 数据源名称进行连接(在这种情况下,必须在创建此连接前对数据源名称进行配置),或者也可提供连接信息字符串。

安装 Informix 客户端

任何要连接到 Informix 数据库的计算机上必须安装 Informix 客户端。

您可以使用自己的 Informix Client SDK 或 Connect 安装程序,也可以从 My Esri 下载 Informix Connect (IConnect) 客户端。必须安装 32 位的 Informix 客户端才能从 ArcMap 进行连接,因为它是 32 位的应用程序。即使您在 64 位的操作系统上安装客户端,也是如此。

请按照随 Informix 客户端软件提供的说明进行安装。

注册 Informix 服务器

必须将默认的 Informix 服务器注册到客户端计算机上的 Informix Setnet 应用程序。即使您不配置 ODBC 数据源,此操作也是必要条件。

有关详细信息,请参阅设置 Informix Setnet32 应用程序

配置 ODBC 数据源名称(可选)

可在 ArcMap 计算机上配置 Informix ODBC 数据源名称,然后使用该名称从 ArcMap 连接到 Informix。如果未配置 ODBC 数据源,仍可使用提供 Informix 服务器和数据库信息的连接字符串进行连接。

有关设置数据源的说明,请参阅Informix 设置 ODBC 数据源

连接到 Informix

您可以通过在 ArcMap 中目录树内的“数据库连接”节点下添加数据库连接的方式连接到 Informix 中的数据库或地理数据库。

  1. ArcMapArcCatalog 的目录树中,展开数据库连接,然后双击添加数据库连接
  2. 数据库平台下拉列表中选择 Informix
  3. 数据源文本框中输入 ODBC 数据源名称。或者,如果未配置 ODBC 数据源名称,也可改用以下语法进行连接:

    HostName = <安装 Informix 的服务器>;ServerName = <Informix 服务器>;ServiceName = <服务文件中定义的服务名称>;Database = <Informix 数据库名称>

    指定适合站点的信息。

    例如,如果 Informix 实例位于服务器 hirise 上,实例名称是 superids,它通过端口 54321 进行通信,并且数据库名称是 gisdata,则连接字符串如下所示:

    HostName=hirise;ServerName=superids;ServiceName=54321;Database=gisdata

  4. 选择连接到数据库时使用的身份验证类型:数据库身份验证操作系统身份验证
    • 如果选择操作系统身份验证,则不需要输入用户名和密码,系统会通过用于登录到操作系统的用户名和密码建立连接。如果操作系统使用的登录信息不能用作数据库的登录信息,连接将失败。
    • 如果选择数据库身份验证,则必须分别在用户名密码文本框中提供有效的数据库用户名和密码。用户名最长为 30 个字符。

      如果不希望将登录信息保存为连接的一部分,请取消选中保存用户名和密码;这样做可帮助保持数据库的安全性。但是,如果执行此操作,则系统会在每次连接时提示您提供用户名和密码。另请注意,对于为 ArcGIS 服务提供数据库或地理数据库访问的连接文件,或希望使用目录搜索找到通过此连接文件访问的数据,都必须选中保存用户名和密码

    在下例中,使用数据库身份验证建立到 ODBC 数据源名称为 ids12db 的 Informix 数据库的连接:

    举例说明使用数据源名称的 Informix 连接

  5. 单击确定进行连接。

文件的创建位置为 \\<computer_name>\Users\<user_name>\AppData\Roaming\ESRI\Desktop<release#>\ArcCatalog

可以将连接移动到另一位置;只需确保需要建立连接的用户和应用程序有权限读取放置连接文件的目录即可。

如果需要将此连接文件中的数据用作服务(如地理处理和地理编码服务)源,则可能需要将连接文件置于网络上的某个共享位置。有关共享连接文件的详细信息,请参阅使数据可供 ArcGIS Server 访问

(仅地理数据库)连接到特定地理数据库版本

使用数据库连接对话框首次连接到 Informix 中的地理数据库时,将连接至默认版本。如果使用地理数据库版本化,并想要连接到其他事务版本或历史版本,请使用地理数据库连接属性对话框更改版本。有关详细信息,请参阅连接到特定地理数据库版本

ArcGIS Server 进行连接

如果 InformixArcGIS Server 在不同的服务器上运行,则应在 ArcGIS Server 站点上的每台计算机上安装 Informix 客户端。

如果 Linux 服务器上安装了 ArcGIS Server,则编辑与 ArcGIS Server 一同安装的 init_user_param.sh 脚本以包含 Informix 客户端和实例的相关信息,并重新启动 ArcGIS Server

如果希望发布到 ArcGIS Server 的服务使用 Informix 中数据库或地理数据库的数据,则必须将数据库注册到 ArcGIS Server 站点。可在注册数据库时使用数据源名称进行连接(在这种情况下,必须在注册前创建 ODBC 数据源),或者也可提供连接信息字符串(通常被称为非 DSN 连接)。

安装 Informix 客户端

如果在与 Informix 数据库管理系统不同的服务器上安装 ArcGIS Server,则必须在站点的每台 ArcGIS Server 计算机上安装 Informix Client SDK 或 Connect。

您可以使用自己的 Informix Client SDK 或 Connect 安装程序,也可以从 My Esri 下载 Informix Connect (IConnect) 客户端。必须安装 64 位 Informix 客户端以通过 ArcGIS Server 进行连接。

请按照随 Informix 客户端软件提供的说明进行安装。

配置 ODBC 数据源名称(可选)

如果想要使用数据源名称 (DSN) 连接到 Informix,则可在安装 ArcGIS Server 的各个计算机上对其进行配置。此操作为可选项;如果不具有数据源名称,则也可使用连接信息字符串连接到 Informix 数据库(通常被称为非 DSN 连接字符串)。如果您的 ArcGIS Server 站点包含多个计算机,请在每台计算机上配置相同的数据源名称。

有关创建数据源名称的说明,请参阅Informix 设置 ODBC 数据源

注册 Informix 服务器(仅适用于 Windows

如果在 Microsoft Windows 服务器上安装 ArcGIS Server,则请将默认的 Informix 服务器注册到 Informix Setnet 应用程序。

更改 init_user_param.sh 脚本(仅针对 Linux

安装数据库客户端文件后,更改 init_user_param.sh 脚本以将其作为参考。可通过浏览至 <ArcGIS Server installation directory>/arcgis/server/usr 目录访问该脚本。

注:

如果您的用户配置文件参考 Informix 客户端,则 ArcGIS Server 仍然应该连接到该数据库。但是,如果用户配置文件和 init_user_param.sh 之间的客户端信息不一致,则在尝试与数据库连接时可能会出现问题。要缓解连接问题,可从用户配置文件中移除参考信息,然后使用以下步骤重新引用数据库客户端库。

  1. 请确保 ArcGIS Server 安装程序所有者至少具有在数据库客户端库中读取和执行的权限。
  2. 在文本编辑器中打开 init_user_param.sh 脚本。
  3. 移除以 export 为开头的行中的注释标记 (#)。

    # 
    # To connect to Informix
    #
    export INFORMIXDIR=<Informix_InstallDir>
    export INFORMIXSERVER=<Informix_Database_Server_Name>
    export INFORMIXSQLHOSTS=<Location_to_sqlhosts>
    export ODBCINI=<Location_to_.odbc.ini>
    export PATH=$INFORMIXDIR/bin:$PATH
    export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$INFORMIXDIR/lib/cli:$INFORMIXDIR/lib/esql:$LD_LIBRARY_PATH

  4. 使用特定于您的安装程序的信息替换以下内容:

    • Informix 客户端(如果 ArcGIS Server 安装在 Informix 数据库的另一台计算机上)的安装程序或 Informix 数据库管理系统安装目录(如果 ArcGIS ServerInformix 位于相同计算机上)替换 <Informix_InstallDir>
    • Informix 服务器名称替换 <Informix_Database_Server_Name>。应与 INFORMIXSQLHOSTS 文件中指定的服务器名称相匹配。
    • 使用 ArcGIS Server 计算机上 INFORMIIXSQLHOSTS 文件的位置和名称替换 <Location_to_sqlhosts>
    • 使用 ArcGIS Server 计算机上 odbc.ini 文件的位置替换 <Location_to_.odbc.ini>。如果未配置 ODBC 数据源,则请注释掉此行。

    在本例中,ArcGIS ServerInformix 客户端均安装在 gisserver 上且 Informix 数据库位于 dbserver 上。

    # 
    # To connect to Informix
    #
    export INFORMIXDIR=/gisserver/informix/CSDK/12.10.FC3 export INFORMIXSERVER=dbserver export INFORMIXSQLHOSTS=/home/informix/sqlhosts export ODBCINI=/gisserver/informix/odbc.ini export PATH=$INFORMIXDIR/bin:$PATH
    export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$INFORMIXDIR/lib/cli:$INFORMIXDIR/lib/esql:$LD_LIBRARY_PATH

  5. 保存并关闭脚本。
  6. 通过运行 startserver.sh 脚本,在站点的每台计算机上重新启动 ArcGIS Server

    ./startserver.sh

发布引用数据库的服务

如果您希望 Web 服务使用您的 Informix 数据库或 Informix 中的地理数据库中的数据,那么您必须创建服务定义文件,取消选中发布时包括服务定义中的数据选项,然后将文件发布到 ArcGIS Server 站点。