要从 ArcGIS 客户端连接到 IBM Netezza Data Warehouse Appliance,须在 ArcGIS 客户端计算机上安装并配置 Netezza ODBC 驱动程序,并创建连接文件。
IBM Netezza Data Warehouse Appliance 在此版本中已弃用。
如需发布引用 Netezza 中数据的 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 数据源名称,则在为相同数据库配置所有 Netezza ODBC 客户端时使用该名称。例如,如果为 ArcMap 计算机上的 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。
- 选择数据仓库设备将使用的身份验证方式:数据库身份验证或者操作系统身份验证。
- 如果使用数据库身份验证,则必须分别在用户名和密码文本框中分别提供有效的数据库用户名和密码。
- 如果不希望将登录信息保存为连接的一部分,请取消选中保存用户名和密码;这样做可帮助保持数据库的安全性。但是,如果执行此操作,则系统会在每次从桌面客户端连接时提示您提供用户名和密码。
- 单击确定进行连接。
文件的创建位置为 \\<computer_name>\Users\<user_name>\AppData\Roaming\ESRI\Desktop<release#>\ArcCatalog。
可以将连接移动到另一位置;只需确保需要建立连接的用户和应用程序有权读取放置连接文件的目录。
如果需要将此连接文件中的数据用作服务(如地理处理和地理编码服务)源,则可能需要将连接文件置于网络上的某个共享位置。有关共享连接文件的详细信息,请参阅使数据可供 ArcGIS Server 访问。
从 ArcGIS Server 进行连接
可以发布包含 Netezza 数据的地图服务。在发布地图服务之前,请在 ArcGIS Server 站点中的每台计算机上安装并配置 64 位 Netezza ODBC 驱动程序并将数据库注册到该站点。如果在 Linux 中运行 ArcGIS Server,那么您还需要配置 init_user_param.sh 文件才能使用 Netezza ODBC 驱动程序。
安装和配置 Netezza ODBC 驱动程序
- 从 Netezza 获取 Netezza ODBC 驱动程序,并在 ArcGIS Server 站点中每个计算机上安装 64 位版本。
Netezza 仅提供单一安装文件;在该文件运行时,即可选择安装版本,32 位、64 位或二者全选。
- 配置驱动程序字符集。
- 如果您在 Microsoft 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 Server 用户的 $HOME 目录中。文件名称必须为 .odbc.ini 和 .odbcinst.ini。
- 如果在设置 Netezza 连接前已经运行了 ArcGIS Server,则需在每台计算机上运行 startserver.sh 文件以重新启动 ArcGIS Server。
- 如果您希望使用 ODBC 数据源名称连接到数据库,但尚未配置该名称,请立即进行配置。
如果为数据库设置 ODBC 数据源名称,则在为相同数据库配置所有 Netezza ODBC 客户端时使用该名称。例如,ArcGIS Desktop 计算机上的 Netezza ODBC 驱动程序和您所有的 ArcGIS Server 计算机上的 Netezza ODBC 驱动程序所使用的数据源名称必须相同。如果没有进行此操作,则无法正常将数据库注册到 ArcGIS Server,因为其会比较待发布数据的连接字符串与注册数据库的连接字符串。
更改 init_user_param.sh 脚本(仅针对 Linux)
安装数据库客户端文件后,更改与 ArcGIS Server 一同安装的 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>。
- 保存并关闭脚本。
- 在您为 ArcGIS Server 站点的每台计算机配置 init_user_param.sh 之后,在每台计算机上运行 startserver.sh 脚本来重启 ArcGIS Server。
./startserver.sh
注册数据库
如果您希望地图服务使用 Netezza 数据仓库设备中的数据而非发布时创建的数据副本,请将 Netezza 注册到 ArcGIS Server 站点。您可以在 ArcMap 或 ArcGIS Server Manager 中执行此操作。