在 Standard 或 Advanced 许可等级下可用。
安装并配置 IBM Db2 和 ArcGIS 客户端,然后使用启用企业级地理数据库地理处理工具或 Python 脚本在 Db2 数据库中创建地理数据库。
如果在 ArcGIS AllSource 3.5 中创建地理数据库,则地理数据库版本为 11.5.0.x。
先决条件
在 Db2 中创建地理数据库之前,请完成以下操作:
- 确认要使用的 ArcGIS、Db2 和操作系统版本兼容。
- 获取连接到用于存储地理数据库的 Db2 版本所需的 Db2 客户端。
- 获取 ArcGIS Server 密钥代码文件(此文件在您授权 ArcGIS Server 时创建),然后将其放置在您可以通过用于创建地理数据库的 ArcGIS 客户端访问的位置。
- 安装并配置 Db2。
安装并配置 Db2
您(或者 IT 部门或数据库管理员)必须安装并配置 Db2 数据库管理系统,然后才能运行启用企业级地理数据库工具或脚本以在 Db2 中创建地理数据库。
首先,按照 IBM 提供的说明来安装和配置 Db2 实例。 然后,按照以下步骤配置数据库并登录以执行地理数据库相关操作。
- 在 Db2 服务器上创建名为 sde 的操作系统登录账户。
您将使用 sde 登录名连接到数据库以创建地理数据库。
- 创建 Db2 数据库并将其注册到 Spatial Extender 模块。
- 在数据库中授予 sde 用户 DBADM 权限。
- 创建一个临时表空间并授予地理数据库用户对该表空间的访问权限。
临时表空间必须至少有 8K 的页面空间。
在以下示例中,创建了一个名为 geospace 的用户临时表空间,页面大小为 8K。 将向名为 geodatausers 的组授予表空间的使用权限,该组包含执行地理数据库操作的所有数据库用户,这些操作包含创建地理数据库存档、使用要素图格以及在地理数据库中创建用于生成日志文件表的大型选择集。
CREATE USER TEMPORARY TABLESPACE geospace PAGESIZE 8 K MANAGED BY AUTOMATIC STORAGE BUFFERPOOL IBMDEFAULTBP; GRANT USE OF TABLESPACE geospace TO geodatausers WITH GRANT OPTION;
接下来,配置用于连接的 ArcGIS 客户端,然后在 Db2 数据库中创建地理数据库。
配置客户端
可以从 ArcGIS AllSource(Desktop Standard 或 Desktop Advanced)或 ArcGIS Server(企业版)中运行 Python 脚本,以创建地理数据库。 要运行启用企业级地理数据库地理处理工具,而并非脚本,请使用 ArcGIS AllSource。
注:
您需要一个 ArcGIS Server(企业版)密钥代码文件,以便在下一部分中授权地理数据库。 即使不在 ArcGIS Server 计算机上运行 Python 脚本来创建地理数据库,也必须安装和授权 ArcGIS Server 才能获取密钥代码文件。 可能需要将 ArcGIS Server 计算机中的文件复制到可使用地理处理工具或 Python 脚本访问的位置。
- 安装将用于创建地理数据库的 ArcGIS 客户端。
按照软件安装指南中提供的说明进行操作。
- 在大多数情况下,ArcGIS 客户端将在与 Db2 服务器不同的计算机上安装;因此,请在 ArcGIS 客户端计算机上安装和配置 Db2 客户端。
您可以从 My Esri 下载 IBM Data Server Runtime Client for Db2,也可以使用您自己安装的 Db2 客户端。 有关安装的说明,请参阅 Db2 文档。 如果要在 64 位操作系统上安装 Db2 客户端,请运行 64 位可执行文件;该文件将同时安装 32 位和 64 位文件,以供从 32 位和 64 位 ArcGIS 客户端进行连接。
- 或者,创建数据库目录以允许使用数据源名称进行连接。
有关创建数据源名称的说明,请参阅 IBM Db2 文档。
从 ArcGIS 连接到 Db2 数据库不需要数据源名称;您可以改用 DSNless 连接字符串。
现在,可创建地理数据库。
创建地理数据库
使用以下方法之一在 Db2 数据库中创建地理数据库:
使用启用企业级地理数据库工具
如果您安装和配置了 ArcGIS AllSource 以连接到 Db2 数据集,则可以运行启用企业级地理数据库工具。
请按照以下步骤通过 ArcGIS AllSource 创建地理数据库:
- 启动 ArcGIS AllSource。
- 使用 sde 登录账户连接到 Db2 数据库。
将 sde 用户密码保存在数据库连接对话框中。 如果不这样做,使用启用企业级地理数据库工具时连接文件无法生效。
- 打开启用企业级地理数据库工具。
有关打开地理处理工具的常规信息,请参阅查找地理处理工具。
- 在输入数据库文本框中,添加在第 2 步中创建的数据库连接文件。
- 浏览至授权 ArcGIS Server 时创建的 ArcGIS Server 密钥代码文件,并将文件添加到授权文件文本框中。
使用授权向导来授权 ArcGIS Server 之后,密钥代码文件将被写入安装该软件的计算机。 如果尚未执行此操作,则授权 ArcGIS Server 创建此文件。 如果您在 Linux 计算机上授权 ArcGIS Server,则文件在 /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release>/sysgen 中创建。 如果您在 Microsoft Windows 服务器上进行授权,则文件在 Program Files\ESRI\License<release>\sysgen 中创建。 将该文件复制到可使用启用企业级地理数据库工具访问的位置。
- 单击运行。
可在 sde_setup.log 文件中查找创建地理数据库的相关消息,该文件是在为运行工具的计算机上的 %TEMP% 变量指定的目录中创建的。 如果在创建地理数据库时出现问题,可查看此文件以解决这些问题。
将在 Db2 数据库中创建地理数据库。
接下来,创建用户以将数据加载到地理数据库中。 有关创建用户的说明,请参阅 IBM Db2 信息中心。
使用 Python 脚本
可在 ArcGIS AllSource(Desktop Standard 或 Desktop Advanced)或 ArcGIS Server(企业版)客户端计算机中运行 Python 脚本以在 Db2 数据库中创建地理数据库。
提示:
有关从 ArcGIS Server 计算机运行 Python 的信息,请参阅 ArcGIS Server 和 ArcPy。
按照以下步骤运行 Python 脚本以在 Db2 数据库中创建地理数据库:
- 在 ArcGIS 客户端计算机上创建文本文件,然后将以下脚本复制到该文件中,提供特定于您站点的信息:
# Name: enable_enterprise_gdb.py # Description: Create an enterprise geodatabase in an existing Db2 database # Import system modules import arcpy, os # Local variables # Replace paths to work on your machine license = "/arcgis/path/to/authorization_file/keycodes" tempdir = "/tmp/" connection_file_name = "egdb_connection.sde" # Check for the .sde file and delete it if present connection_file_name_path = os.path.join(tempdir, connection_file_name) arcpy.env.overwriteOutput=True if os.path.exists(connection_file_name_path): os.remove(connection_file_name_path) # Create a connection to the geodatabase as the geodatabase administrator # Replace "db2prod" with the name of your database, and replace "mysdepassword" with the password of the sde user arcpy.CreateDatabaseConnection_management(tempdir, connection_file_name, "DB2", "db2prod", "DATABASE_AUTH", "sde", "mysdepassword", "SAVE_USERNAME") # Enable geodatabase try: arcpy.EnableEnterpriseGeodatabase_management(connection_file_name_path, license) except: for i in range(arcpy.GetMessageCount()): arcpy.AddReturnMessage(i)
- 按照脚本中所述替换值。
- 以 .py 扩展名保存该文件。
- 运行脚本。
可在 sde_setup.log 文件中查找创建地理数据库的相关消息,该文件是在为运行 Python 脚本的计算机上的 TEMP 或 TMP 变量指定的目录中创建的。 如果在创建地理数据库时出现任何问题,可查看此文件以解决这些问题。
将在 Db2 数据库中创建地理数据库。
接下来,创建用户以将数据加载到地理数据库中。 有关创建用户并授予数据加载权限的说明,请参阅 IBM Db2 信息中心。