要从 ArcGIS 客户端连接到 IBM Db2,请在 ArcGIS 客户端计算机上安装 Db2 客户端。可为 Db2 数据库配置数据源名称,并使用这一名称从 ArcGIS 客户端进行连接,或者也可以使用非 DSN 连接字符串进行连接。
在所有 ArcGIS 客户端计算机上配置了 Db2 客户端之后,请在 ArcGIS Pro 或 ArcMap 中创建数据库连接文件。如需发布引用 Db2 数据库中数据的 ArcGIS Server web 服务,请将数据库连接文件注册到您的 ArcGIS Server 站点。
从 ArcGIS Pro 连接
要从 ArcGIS Pro 工程中连接到 Db2,请在 ArcGIS Pro 计算机上安装 Db2 客户端,并创建数据库连接。
配置数据源名称(可选)
可将 Db2 数据库编入目录,从而创建从 ArcGIS 连接到 Db2 时将使用到的数据源名称 (DSN)。按照 IBM Db2 信息中心的说明将 Db2 数据库编入目录。
如果不设置数据源名称,则在从 ArcGIS 客户端进行连接时可使用一个字符串,该字符串包含了客户端连接至数据库所需的所有信息。该字符串的格式为 HostName = <DB2 主机>;Port = <端口号>;Database = <数据库名称>。此类连接字符串称为非 DSN 连接。
安装 Db2 客户端
将 Db2 客户端安装在将连接到 Db2 数据库的任意计算机上。
您可以使用自己的 Db2 客户端安装程序,也可以从 My Esri 下载 64 位 IBM Data Server Runtime Client for Db2。
请按照随 Db2 客户端软件提供的说明进行安装。
连接到数据库
使用数据库连接对话框或创建数据库连接工具添加数据库连接。使用数据库连接对话框的步骤如下所述。
- 右键单击目录窗格中的数据库,然后单击新建数据库连接。
- 从数据库平台下拉列表中选择 DB2。
- 在数据源文本框中输入数据源名称。如果数据库尚未编入目录,则可改用以下语法进行连接:
HostName = <主机>;Port = <端口号>;Database = <数据库名称>;
指定适合站点的信息。
例如,如果 Db2 数据库位于服务器 cube 上,通过 DBMS 端口 50000 进行通信,并且数据库名称是 spatialdata,则连接字符串如下所示:
HostName=cube;Port=50000;Database=spatialdata;
- 选择连接到数据库时使用的身份验证类型:数据库身份验证或操作系统身份验证。
- 如果选择操作系统身份验证,则不需要输入用户名和密码,系统会通过用于登录到操作系统的用户名和密码建立连接。如果操作系统使用的登录信息不能用作数据库的登录信息,连接将失败。
如果选择数据库身份验证,则必须分别在用户名和密码文本框中提供有效的用户名和密码。用户名最长为 30 个字符。
如果不希望将登录信息保存为连接的一部分,请取消选中保存用户名和密码;这样做可帮助保持数据库的安全性。但是,如果执行此操作,则系统会在每次连接时提示您提供用户名和密码。
注:
对于使用数据库身份验证为 ArcGIS web 服务提供数据库访问的连接文件,或希望使用搜索 ArcGIS Pro 找到通过此连接文件访问的数据,都必须选中保存用户名和密码。
- 单击确定进行连接。
从 ArcMap 进行连接
要从 ArcMap 连接到 Db2 中的数据库或地理数据库,需在 ArcMap 计算机上安装一个 Db2 客户端,然后在目录树中创建一个连接文件。可使用数据源名称进行连接(在这种情况下,必须在创建此连接前将数据库编入目录),或者也可提供连接信息字符串。
配置数据源名称(可选)
可将 Db2 数据库编入目录,从而创建从 ArcGIS 连接到 Db2 时将使用到的数据源名称 (DSN)。按照 IBM Db2 信息中心的说明将 Db2 数据库编入目录。
如果不设置数据源名称,则在从 ArcGIS 客户端进行连接时可使用一个字符串,该字符串包含了客户端连接至数据库所需的所有信息。该字符串的格式为 HostName = <DB2 主机>;Port = <端口号>;Database = <数据库名称>。此类连接字符串称为非 DSN 连接。
安装 Db2 客户端
将 Db2 客户端安装在将连接到 Db2 数据库的任意计算机上。
您可以使用自己的 Db2 客户端安装程序,也可以从 My Esri 下载 IBM Data Server Runtime Client for Db2。如果要在 64 位的操作系统上安装此客户端,需运行 64 位 Db2 客户端可执行文件;这将同时安装 32 位和 64 位文件。
请按照随 Db2 客户端软件提供的说明进行安装。
连接到 Db2
您可以通过在 ArcMap 中目录树的数据库连接节点下添加数据库连接,或使用创建数据库连接工具连接到 Db2 中的数据库或地理数据库。以下步骤将介绍在目录树中建立连接的方法。
- 在 ArcMap 或 ArcCatalog 的目录树中,展开数据库连接,然后双击添加数据库连接。
- 如果要连接 Db2、UNIX 或 Linux 服务器上的 Windows,请从数据库平台下拉列表中选择 DB2。如果要连接 z 操作系统 (z/OS) 上的 Db2,请从数据库平台下拉列表中选择 DB2 for z/OS。
- 在数据源文本框中输入数据源名称。如果数据库(或数据库子系统)未编入目录,则可改用以下语法进行连接:
HostName = <主机>;Port = <端口号>;Database = <数据库名称>;
指定适合站点的信息。
例如,如果 Db2 数据库位于服务器 cube 上,通过 DBMS 端口 50000 进行通信,并且数据库名称是 spatialdata,则连接字符串如下所示:
HostName=cube;Port=50000;Database=spatialdata;
- 选择连接到数据库时使用的身份验证类型:数据库身份验证或操作系统身份验证。
- 如果选择操作系统身份验证,则不需要输入用户名和密码,系统会通过用于登录到操作系统的用户名和密码建立连接。如果操作系统使用的登录信息不能用作数据库的登录信息,连接将失败。
如果选择数据库身份验证,则必须分别在用户名和密码文本框中提供有效的用户名和密码。用户名最长为 30 个字符。
如果不希望将登录信息保存为连接的一部分,请取消选中保存用户名和密码;这样做可帮助保持数据库的安全性。但是,如果执行此操作,则系统会在每次从桌面客户端连接时提示您提供用户名和密码。
注:
对于为 ArcGIS 服务提供数据库访问的连接文件,或希望使用搜索 ArcGIS Desktop 找到通过此连接文件访问的数据,都必须选中保存用户名和密码。
在下例中,使用数据库身份验证连接到 Db2 实例中已编目的数据库 (spatialdata):
- 单击确定进行连接。
文件的创建位置为 \\<computer_name>\Users\<user_name>\AppData\Roaming\ESRI\Desktop<release#>\ArcCatalog。
可以将连接移动到另一位置;只需确保需要建立连接的用户和应用程序有权读取放置连接文件的目录。
如果需要将此连接文件中的数据用作服务(如地理处理和地理编码服务)源,则可能需要将连接文件置于网络上的某个共享位置。有关共享连接文件的详细信息,请参阅使数据可供 ArcGIS Server 访问。
从 ArcGIS Server 进行连接
如果您想发布的 Db2 和 ArcGIS Server 在不同的服务器上运行,则应在 ArcGIS Server 站点上的所有计算机上安装 Db2 客户端。
如果 Linux 服务器上安装了 ArcGIS Server,则编辑与 ArcGIS Server 一同安装的 init_user_param.sh 脚本以包含 Db2 客户端和实例的相关信息,并重新启动 ArcGIS Server。
如果希望发布到 ArcGIS Server 的服务使用 Db2 中数据库或地理数据库的数据,则必须将数据库注册到 ArcGIS Server 站点。 可在注册数据库时使用数据源名称(在这种情况下,必须在注册前将数据库编入目录),或者也可提供连接信息字符串(通常被称为非 DSN 连接)。
安装 Db2 客户端
如果在不同于 Db2 数据库的服务器上安装了 ArcGIS Server,则应在 ArcGIS Server 站点的每台计算机上安装 Db2 客户端。
您可以使用自己的 Db2 客户端安装程序,也可以从 My Esri 下载 IBM Data Server Runtime Client for Db2。
请按照随 Db2 客户端软件提供的说明进行安装。
更改 init_user_param.sh 脚本(仅针对 Linux)
安装数据库客户端文件后,更改与 ArcGIS Server 一同安装的 init_user_param.sh 脚本以引用客户端文件。可通过浏览至 <ArcGIS Server installation directory>/arcgis/server/usr 目录访问该脚本。
注:
如果用户配置文件引用了 Db2 客户端,并且用户配置文件和 init_user_param.sh 的客户端信息不同,则 ArcGIS Server 在尝试与数据库连接时可能会出现问题。要解决连接问题,可从用户配置文件中移除参考信息,然后使用以下步骤再次引用数据库客户端库:
- 请确保 ArcGIS Server 每台计算机的安装程序所有者至少具有在数据库客户端库中读取和执行的权限。
- 在文本编辑器中打开 init_user_param.sh 脚本。
- 移除以 # 为开头的行中的注释标记 (export)。
# # To connect to Db2 export DB2_CLIENT_HOME=<DB2_InstallDir> export DB2INSTANCE=<DB2_instance_name> export PATH=DB2_CLIENT_HOME/bin:$PATH export LD_LIBRARY_PATH=$DB2_CLIENT_HOME/lib64:$LD_LIBRARY_PATH
- 将 <DB2_InstallDir> 替换为 Db2 客户端安装目录的位置,并将 <DB2_instance_name> 替换为 Db2 实例的名称。
例如,如果将 Db2 客户端安装到 /home/db2prod,则 Db2 实例将被命名为 db2prod,文件显示如下:
# # To connect to Db2 export DB2_CLIENT_HOME=/home/db2prod export DB2INSTANCE=db2prod export PATH=DB2_CLIENT_HOME/bin:$PATH export LD_LIBRARY_PATH=$DB2_CLIENT_HOME/lib64:$LD_LIBRARY_PATH
- 保存并关闭脚本。
- 在您为 ArcGIS Server 站点的每台计算机配置 init_user_param.sh 之后,在每台计算机上运行 startserver.sh 脚本来重启 ArcGIS Server。
./startserver.sh
配置数据源名称(可选)
可编目 Db2 数据库,从而创建在将数据库注册到 ArcGIS Server 站点时要使用的数据源名称。请注意,如果 ArcGIS Server 安装在与所用 Db2 服务器无关的 Linux 计算机上,则必须先在客户端计算机上创建 Db2 客户端实例,才能编目 Db2 数据库。
注册数据库
如果希望 web 服务使用 Db2 数据库或地理数据库中的数据,则应将其注册到 ArcGIS Server 站点。有关说明,请参阅 ArcGIS Pro 帮助中的管理注册的数据存储或使用 Manager 将数据注册到 ArcGIS Server。
注:
不能将 z 操作系统数据库上的 Db2 注册到 ArcGIS Server。依照创建服务定义文件说明,取消选择发布时包括服务定义中的数据选项,然后将文件发布到 ArcGIS Server。