可从 ArcGIS 客户端连接到 Netezza。为此,须在 ArcGIS 客户端计算机上安装并配置 Netezza ODBC 驱动程序,并创建连接文件。从 ArcGIS Server 中建立连接时,同样也需要将数据库连接文件注册到 ArcGIS Server。
从 ArcMap 创建连接
要从 ArcMap 连接到 Netezza,请在 ArcMap 计算机上安装并配置 Netezza ODBC 驱动程序,并在目录树中创建连接文件。
有关受支持的驱动程序版本,请参阅 Netezza Data Warehouse Appliance 系统要求。
安装和配置 Netezza ODBC 驱动程序
- 从 Netezza 获取 Netezza ODBC 驱动程序,并在 ArcMap 计算机上安装 32 位版本。
Netezza 仅提供单一安装文件;在该文件运行时,即可选择安装版本,32 位、64 位或二者全选。
- 配置驱动程序字符集。
- 如果您使用的是传统 Netezza Spatial 包,则在 ODBC 驱动程序安装期间请将驱动程序设置为优化 ASCII 字符集。
- 如果您使用的是 Netezza Spatial Esri 包,则请勿在 ODBC 驱动程序安装期间将驱动程序设置为优化 ASCII 字符集。
- 安装 ODBC 驱动程序后,便可设置 ODBC 数据源名称。连接到数据库时可使用此名称。
如果为数据库设置 ODBC 数据源名称,则在为相同数据库配置所有 Netezza ODBC 客户端时使用该名称。例如,如果为 ArcGIS for Desktop 计算机上的 Netezza ODBC 驱动程序配置数据源名称,则在 ArcGIS Server 计算机上为 Netezza ODBC 驱动程序设置相同的数据源名称。如果没有进行此操作,则无法正常将数据库注册到 ArcGIS Server,因为其会比较要发布数据的连接字符串与注册的数据库的连接字符串。
连接到数据库
使用数据库连接对话框或创建数据库连接工具来添加数据库连接。使用数据库连接对话框的步骤如下所述。
- 在 ArcMap 或 ArcCatalog 的目录树中,展开数据库连接,然后双击添加数据库连接。
- 从数据库平台下拉列表中选择 Netezza。
- 在数据源文本框中,键入为 Netezza 配置的 ODBC 数据源名称。如果尚未配置 ODBC 数据源名称,则可改为键入以下连接字符串。语法如下:
ServerName=<主机>;Port=<端口号>;Database=<数据库名称>
提供与 Netezza 数据仓库设备对应的信息。
例如,如果 Netezza 数据仓库设备在名为 production 的服务器上运行,与数据库进行通信的端口号为 2000,数据库名称为 analysisdata,则应键入 ServerName=production;Port=2000;Database=analysisdata。
- 选择数据仓库设备将使用的身份验证方式:数据库身份验证或者操作系统身份验证。
- 如果使用数据库身份验证,则必须分别在用户名和密码文本框中分别提供有效的用户名和密码。
- 如果不希望将登录信息保存为连接的一部分,请取消选中保存用户名和密码;这样做有助于维护数据库的安全性。但是,如果执行此操作,则系统会在每次连接时提示您提供用户名和密码。另请注意,对于为 ArcGIS 服务提供数据库访问的连接文件,或想要通过目录搜索找到通过此链接文件访问的数据,都必须选中保存用户名和密码。
- 单击确定进行连接。
文件的创建位置为 \\<computer_name>\Users\<user_name>\AppData\Roaming\ESRI\Desktop<release#>\ArcCatalog。
可以将连接移动到另一位置,只需确保需要建立连接的用户和应用程序有权读取放置连接文件的目录。
如果需要将此连接文件中的数据用作服务(如地理处理和地理编码服务)源,则可能需要将连接文件置于网络上的某个共享位置。有关共享连接文件的详细信息,请参阅准备要作为服务发布的资源。
从 ArcGIS for Server 连接
可以发布包含 Netezza 数据的地图服务。要执行此操作,请在 ArcGIS for Server 计算机上安装和配置 64 位的 Netezza ODBC 驱动程序,并将数据库注册到 GIS 服务器。如果在 Linux 中运行 ArcGIS for Server,那么您还需要配置 init_user_param.sh 文件才能使用 Netezza ODBC 驱动程序。
安装和配置 Netezza ODBC 驱动程序
- 从 Netezza 获取 Netezza ODBC 驱动程序,并在 ArcGIS Server 计算机上安装 64 位版本。
Netezza 仅提供单一安装文件;在该文件运行时,即可选择安装版本,32 位、64 位或二者全选。
- 配置驱动程序字符集。
- 如果您在 Windows 操作系统上使用的是遗留 Netezza Spatial 包,则在 ODBC 驱动程序安装期间将驱动程序设置为优化 ASCII 字符集。
- 如果您在 Linux 操作系统上使用的是传统 Netezza Spatial 包,则在 ODBC 驱动程序安装完成后,请在 odbcinst.ini 文件中设置以下参数:
- UnicodeTranslationOption = utf16
- CharacterTranslationOption = latin9
- 如果您在 Windows 操作系统上使用的是 Netezza Spatial Esri 包,则不要在 ODBC 驱动程序安装期间将驱动程序设置为优化 ASCII 字符集。
- 如果您在 Linux 操作系统上使用的是传统 Netezza Spatial Esri 包,则在 ODBC 驱动程序安装完成后,请在 odbcinst.ini 文件中设置以下参数:
- UnicodeTranslationOption = utf16
- CharacterTranslationOption = all
- 如果从 Linux 上的 ArcGIS Server 建立连接,则进行以下操作:
- 打开 ArcGIS Server 安装目录的 /arcgis/server/usr 目录中的 init_user_param.sh 脚本。
- 取消对 LIB_ODBC_DRIVER_MANAGER 变量的注释并将其设置为 Linux ODBC 驱动程序管理器文件的位置。
例如,export LIB_ODBC_DRIVER_MANAGER=$HOME/bin/libodbc.so
- 将 Netezza ODBC 连接文件放置在 ArcGIS 用户的 $HOME 目录中。文件名称必须为 .odbc.ini 和 .odbcinst.ini。
- 如果在设置 Netezza 连接前已经运行了 ArcGIS Server,则须运行 startserver.sh 文件以重新启动 ArcGIS Server。
- 安装 ODBC 驱动程序后,便可设置 ODBC 数据源名称。连接到数据库时可使用此名称。
如果为数据库设置 ODBC 数据源名称,则在为相同数据库配置所有 Netezza ODBC 客户端时使用该名称。例如,ArcGIS for Desktop 计算机和 ArcGIS Server 计算机上 Netezza ODBC 驱动程序所使用的数据源名称必须相同。如果没有进行此操作,则无法正常将数据库注册到 ArcGIS Server,因为其会比较要发布数据的连接字符串与注册的数据库的连接字符串。
更改 init_user_param.sh 脚本(仅针对 Linux)
安装数据库客户端文件后,更改 init_user_param.sh 脚本以将其作为参考。可通过浏览至 <ArcGIS Server installation directory>/arcgis/server/usr 目录访问该脚本。
- 请确保 ArcGIS Server 安装程序所有者至少具有在数据库客户端库中读取和执行的权限。
- 在文本编辑器中打开 init_user_param.sh 脚本。
- 移除本行中的注释标记 (#)。
# export LIB_ODBC_DRIVER_MANAGER=<Location_to_libodbc.so>/libodbc.so
- 使用 Linux ODBC 驱动程序管理器的地址替换 <Location_to_libodbc.so>。
- 保存并关闭脚本。
- 通过运行 startserver.sh 脚本重新启动 ArcGIS Server 部署中的每个 GIS 服务器。
./startserver.sh
注册数据库
如果您希望地图服务使用 Netezza 数据仓库设备中的数据而非发布时创建的数据副本,请将 Netezza 注册到 ArcGIS Server。有关说明,请参阅 ArcGIS Server 帮助中的将 Netezza 数据仓库设备注册到 ArcGIS Server。