从 ArcGIS 连接到 Db2
以下列表汇总了从 ArcGIS 连接到 IBM Db2 数据库(包括含地理数据库的数据库)所需的步骤:
在 ArcGIS Server 计算机上安装 Db2 客户端。
(可选)为 Db2 数据库配置数据源名称,并使用这一名称从 ArcGIS 客户端进行连接,或者也可以使用非 DSN 连接字符串进行连接。
编辑使用 ArcGIS Server 安装的
init_user_param.sh脚本以包含有关 Db2 客户端和实例的信息,然后重启 ArcGIS Server。创建数据库连接文件。
向在数据库连接文件中使用的登录账户授予权限。
将数据库连接文件注册到 ArcGIS Server 站点。
以下部分中描述了这些任务。
安装 Db2 客户端
如果您想发布到的 Db2 和 ArcGIS Server 站点在不同的服务器上运行,则应在 ArcGIS Server 站点上的所有计算机上安装 Db2 客户端。
在需要连接到 Db2 数据库的所有 ArcGIS 计算机上安装 64 位 Db2 客户端。 可从 IBM 或 My Esri 中获取 Db2 客户端文件。 请按照随 Db2 客户端软件提供的说明进行安装。 如果您没有在运行 ArcGIS 客户端的计算机上安装软件的必需权限,则需要请求 IT 部门为您安装 Db2 客户端。
配置数据源名称(可选)
安装 Db2 客户端软件后,您可以编写 Db2 数据库目录,从而创建在将数据库注册到 ArcGIS Server 站点时要使用的数据源名称。
注:
如果 ArcGIS Server 安装在独立于 Db2 服务器的 Linux 计算机上,则必须先在 ArcGIS Server 计算机上创建 Db2 客户端实例,才能编写 Db2 实例目录。
如果您选择不编写数据库目录,则必须指定 DSNless 连接字符串以连接到 Db2 数据库,采用的格式为 HostName=<主机>;Port=<端口号>;Database=<数据库名称>;。 有关详细信息和示例,请参阅 ArcGIS Pro 中的数据库连接。
编辑 init_user_param.sh 脚本
在安装数据库客户端文件后,更改与 ArcGIS Server 一同安装的 init_user_param.sh 脚本以引用客户端文件。 可通过浏览至 <ArcGIS Server installation directory>/arcgis/server/usr 目录访问该脚本。
您必须更新 ArcGIS Server 站点中每台计算机上的 init_user_param.sh。
您必须更新 ArcGIS Server 站点中每台计算机上的 init_user_param.sh。
注:
如果用户配置文件引用了 Db2 客户端,并且用户配置文件和 init_user_param.sh 的客户端信息不同,则 ArcGIS Server 在尝试与数据库连接时可能会出现问题。 要解决连接问题,可从用户配置文件中移除参考信息,然后使用以下步骤再次引用数据库客户端库:
请确保每台计算机的 ArcGIS Server 安装程序所有者至少具有在数据库客户端库中读取和执行的权限。
在文本编辑器中打开
init_user_param.sh脚本。移除以
export开头的行中的注释标记 (#)。# # Modify this section to configure a connection 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,则文件显示如下:# # For connection with 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保存并关闭脚本。
要使在
init_user_param.sh文件中进行的更改生效,必须重新启动 ArcGIS Server。为此,先后在 ArcGIS Server 站点的每台计算机上运行
stopserver.sh脚本和startserver.sh脚本。./stopserver.sh./startserver.sh
创建数据库连接
您必须有数据库连接(.sde 文件),用于对数据库的连接进行身份验证。
可以在需要连接数据库的 ArcGIS Server 站点中的某台计算机上调用 ArcPy CreateDatabaseConnection 函数。 有关运行此函数的信息,请参阅 ArcGIS Pro 帮助中的创建数据库连接。
以下信息专用于创建数据库连接文件,以用于 ArcGIS Server。
您必须将经过数据库身份验证的用户信息与连接文件一同保存。
如果您使用操作系统身份验证进行连接,则请确保 Db2 服务器能够对 ArcGIS Server 账户进行身份验证。
授予权限
用于连接到数据库的登录账户必须具有为其授予的特定权限。 对于仅发布只读服务(例如地图服务)的登录账户,请按照 Db2 中地理数据库的权限或用于在 ArcGIS 中使用 Db2 数据库的权限中介绍的内容向数据查看者授予必要的权限。 对于发布可编辑要素服务的登录账户,则需要向数据编辑者授予必要的权限。
如果与 Db2 的连接使用操作系统身份验证,请为 ArcGIS Server 账户授予相应的权限。
如果数据位于地理数据库中,则数据所有者必须授予数据所需的权限。 如果数据位于数据库中,则数据所有者可以从 ArcGIS 授予权限,或者数据库管理员可以使用数据库工具授予所需的权限。
注册到 ArcGIS Server
如果要发布使用 Db2 数据库或 Db2 地理数据库中的数据同时不复制数据的 web 服务,则必须将数据库注册到 ArcGIS Server 站点。 可在注册数据库时使用数据源名称(在这种情况下,必须在注册前将数据库编入目录),或者也可提供连接信息字符串(通常被称为非 DSN 连接)。
您可以使用您创建的数据库连接文件,通过 ArcGIS Pro 中的管理已注册数据存储窗格或 ArcGIS Server Manager,将数据库注册到 ArcGIS Server。