要在空间数据库中创建查询图层,必须完成以下特定的任务来确保查询图层使用 ArcGIS:
- 必须采用当前使用的 ArcGIS 版本支持的数据库管理系统版本。请在 ArcGIS Desktop 网站查看数据库系统要求,以获得有关数据库管理系统支持的信息。
- 查询图层定义中必须包括可充当查询图层中 ObjectID 的唯一的、非空的列或列组合。如果要使用的数据没有这种唯一的、非空的列或列组合,必须为其添加一个。有关详细信息,请参阅选择唯一标识符字段。
- 根据当前使用的数据库管理系统类型,您必须在数据库管理系统中进行一些配置才能使用空间类型。将在下列章节中对此进行介绍。
- 大多数情况下,必须在每个要创建查询图层连接的客户端计算机上安装并配置数据库管理系统客户端。还将在下列章节中对此进行介绍。可从 My Esri 下载 DB2、Informix 和 Microsoft SQL Server 支持的客户端。由于只有计算机上的管理员才能安装软件,因此,如果您的登录帐户不是计算机上 Windows 管理员组的成员,请联系信息系统部门对计算机做相应设置,以实现查询图层连接。
ALTIBASE
虽然 ALTIBASE 自带空间类型,但您仍然必须创建两个系统表才能在 ALTIBASE 中使用空间数据。有关创建这些系统表的说明,请参阅配置 ALTIBASE 几何类型。
要从 ArcGIS 连接到 ALTIBASE,必须在 ArcGIS 客户端计算机上安装 ALTIBASE 客户端。有关详细信息,请参阅 从 ArcGIS 连接到 ALTIBASE。
Dameng
Dameng 包含自己的空间类型,但是必须将其初始化。以数据库管理员身份从 SQL 客户端登录数据库,然后执行下列命令对几何类型进行初始化:
SP_INIT_GEO_SYS(1);
在所有 ArcGIS 客户端计算机上安装 Dameng 数据库以连接到 Dameng 数据库。
IBM DB2 数据库
要使用查询图层显示来自 DB2 数据库的空间数据,用来连接数据库的计算机上必须已安装 IBM Data Server Runtime Client for DB2。
在客户端计算机上安装 DB2 客户端应用程序。从 ArcGIS 建立连接时,可将客户端配置为连接到特定 DB2 数据库,或者使用非数据源名称 (DSN-less) 连接字符串进行连接。您可从 My Esri 下载 IBM Data Server Runtime Client for DB2,也可从 IBM 获得。
有关如何安装和配置 DB2 客户端的信息,请参阅 IBM DB2 文档。
IBM Informix 数据库
要使用查询图层显示来自 Informix 数据库的空间数据,必须将该数据库注册到 Informix Spatial DataBlade,并且在您用来连接数据库的计算机上安装并配置 Informix IConnect 客户端。
Informix Spatial DataBlade
必须首先在 Informix Spatial DataBlade 中注册要使用的 Informix 数据库,然后才能使用 ST_Geometry 空间类型。如果不确定连接的数据库对 ST_Geometry 是否可用,请联系 GIS 管理员或数据库管理员。
Informix IConnect
在客户端计算机上安装 Informix IConnect 应用程序并配置 Setnet32 应用程序。除非要使用无 DSN 的连接字符串连接到 Informix,否则必须配置开放式数据库连通性 (ODBC) 连接。
可以从 My Esri 下载 Informix 客户端应用程序,也可从 IBM 获得。有关安装和配置 Informix 客户端的信息,请参阅 IBM Informix 文档。
Microsoft Azure SQL 数据库
Microsoft Azure SQL 数据库是一款基于云的数据库服务,它包含可以在查询图层中使用的两个空间类型:几何和地理。这些空间类型会自动显示;无需安装。
要使用查询图层从 Azure SQL 数据库中显示空间数据,请在 ArcGIS 客户端计算机上安装受支持的 Microsoft ODBC driver for SQL Server。如有可能,您应该在 Microsoft Azure 上运行 ArcGIS 客户端并使用 Azure SQL Database 的同一位置(区域)以提高性能。
Microsoft SQL Server
SQL Server 中支持两种可用于查询图层中的空间类型:几何空间类型和地理空间类型。这些空间类型会自动在 SQL Server 数据库中显示;无需安装。
要使用查询图层显示来自 SQL Server 数据库的空间数据,您必须在客户端计算机上安装受支持版本的 SQL Server 客户端。SQL Server 客户端可以从 My Esri 或 Microsoft 获取。
有关安装 SQL Server 客户端的信息,请参阅 Microsoft SQL Server 文档。
Netezza 数据仓库设备
要使用查询图层显示来自 Netezza 数据库的空间信息,您必须安装 Netezza 空间包。还必须在 ArcGIS 客户端计算机上安装 Netezza ODBC 驱动程序并配置数据源名称。
Netezza 空间包
您可将以下两种包用于 Netezza 数据库:传统 Netezza Spatial Package 和 Netezza Spatial Esri Package。
如果使用的是传统 Netezza Spatial Package,ArcGIS 则要求将空间列命名为 shape。如果该列的名称不是 shape,则需在表中创建一个视图并将该空间列名称的别名设为 shape。
您所使用的空间包将影响配置 Netezza ODBC 驱动程序的方法。
Netezza ODBC 驱动程序
必须安装 Netezza ODBC 驱动程序并配置数据源名称。可以从 IBM 获得 Netezza 驱动程序。有关安装和配置 ODBC 驱动程序的信息,请参阅由 Netezza 提供的文档。
如果使用的是传统 Netezza Spatial Package,那么设置 ODBC 数据源名称时就必须将该选项设为优化 ASCII 字符集。
如果使用的是 Netezza Spatial Esri Package,那么配置 ODBC 数据源名称时,请勿将该选项设为优化 ASCII 字符集。
Oracle
要使用查询图层显示来自 Oracle 数据库的空间数据,该数据库中必须存在空间类型。此外,还必须在您用来连接数据库的计算机上安装并配置 Oracle 客户端。
Oracle 中的空间类型
Oracle 中支持两种可用于查询图层中的空间类型:ST_Geometry 和 SDO_Geometry。
可以在 Oracle 中创建企业级地理数据库时安装 ST_Geometry 空间类型,也可以使用创建空间类型地理处理工具在 Oracle 数据库中安装该空间类型。使用 ST_Geometry 空间类型还需要配置 Oracle EXTPROC。GIS 管理员或数据库管理员将通知您数据库是否已经配置为使用这种空间类型。有关配置 EXTPROC 的信息,请参阅配置 Oracle extproc 和 Oracle 文档。
Oracle Locator 对象,包括 SDO_Geometry 类型,默认情况下均存在于 Oracle 数据库中。因此,您可在不进行其他安装的情况下访问 SDO_Geometry 类型;但若要访问全部 SDO_Geometry 函数,则可能需要在数据库中安装 Oracle Spatial。
Oracle 客户端
在客户端计算机上安装 Oracle Net 应用程序。可以从 Oracle 处获取 Oracle Instant、Runtime 或 Administrator 客户端。
有关安装并配置 Oracle 客户端的信息,请参阅 Oracle 文档集。
PostgreSQL
要使用查询图层显示来自 PostgreSQL 数据库的空间数据,该数据库中必须存在空间类型。
PostgreSQL 中支持两种可用于查询图层中的空间类型:ST_Geometry 和 PostGIS 几何。
可以在 PostgreSQL 中创建企业级地理数据库时安装 ST_Geometry 类型,也可以使用创建空间类型地理处理工具在 PostgreSQL 数据库中安装该类型。
要使用 PostGIS 几何类型,数据库管理员必须在 PostgreSQL 数据库集群中安装 PostGIS。PostGIS 是第三方开源安装程序。安装以后,数据库管理员可以使用 PostGIS 模板数据库创建包含 PostGIS 几何类型的数据库,也可以配置现有数据库以使用 PostGIS 几何类型。
联系 GIS 管理员或数据库管理员来确定数据库是否已经配置为使用这些空间类型中的任何一种。
SAP HANA
空间数据存储在 SAP HANA ST_Geometry 类型中,此类型包含在默认 SAP HANA 数据仓库安装中。要结合使用 ArcGIS 与 SAP HANA,请在要连接 SAP HANA 的 ArcGIS 客户端计算机上安装并配置 SAP HANA ODBC 驱动程序。有关详细信息,请参阅从 ArcGIS 连接到 SAP HANA。
Teradata data warehouse appliances
要使用查询图层显示来自 Teradata 数据库的空间数据,必须在您用来连接数据库的计算机上安装 Teradata GSS 客户端、ICU 库和 ODBC 驱动程序,并且配置数据源。
在 ArcGIS 客户端计算机上依次安装 Teradata ICU 库、GSS 客户端和 ODBC 驱动程序。您可从 Teradata 获取这些文件。
然后,为 Teradata 数据库配置数据源名称。
有关安装客户端文件和配置数据源名称的信息,请参阅由 Teradata 提供的文档。另外,有关在 ArcGIS 中使用 Teradata 所必须设置的特定选项,请参阅连接到 Teradata。
ArcGIS 要求将 Teradata 要素类中的空间列命名为 shape。如果该列的名称不是 shape,则需在表中创建一个视图并将该空间列名称的别名设为 shape。