要从 ArcGIS 客户端连接到 Teradata Data Warehouse Appliance,请在 ArcGIS 客户端计算机上安装以下内容:
- Teradata ICU 库
- Teradata GSS 客户端包
- Teradata ODBC 驱动程序
可从 Teradata 网站下载 Teradata ODBC 驱动程序。可下载文件包括 Teradata GSS 客户端和 ICU 库。
安装了 Teradata 客户端文件之后,请在每台计算机上配置 ODBC 数据源名称。连接到相同 Teradata Data Warehouse Appliance 的每个 ArcGIS 客户端都应该使用相同的数据源名称。
之后创建连接文件。如需发布引用 Teradata Data Warehouse Appliance 中数据的 ArcGIS Server web 服务,请将数据库连接文件注册到您的 ArcGIS Server 站点。
从 ArcMap 进行连接
要从 ArcMap 连接到 Teradata,请在 ArcMap 计算机上安装 Teradata 客户端文件、配置 ODBC 数据源名称并创建连接文件。
安装 Teradata 文件并配置 ODBC 驱动程序
- 从 Teradata 网站中下载 32 位 Teradata 客户端文件。
- 在 ArcMap 的每台计算机上安装 Teradata ICU 库和 GSS 客户端。
- 在 ArcMap 的每台计算机上安装 Teradata ODBC 驱动程序。
- 在 Teradata ODBC 驱动程序选项对话框中更改以下设置,以此配置 ODBC 驱动程序:
- 将会话模式设置为 Teradata。
- 选择支持使用本机大对象选项。
- 选择将输出参数返回为 ResultSet 选项
- 可以选择配置在连接到数据库时使用的 ODBC 数据源名称。
如果要配置 ODBC 数据源名称,则针对为同一数据库配置的所有 Teradata ODBC 客户端使用相同名称。例如,为 ArcGIS Desktop 计算机和 ArcGIS Server 站点中的计算机上的 Teradata ODBC 驱动程序使用相同的数据源名称。如果没有进行此操作,则无法正常将数据库注册到 ArcGIS Server,因为其会比较待发布数据的连接字符串与注册数据库的连接字符串。
- 将 PATH 环境变量设置为 Teradata ODBC 驱动程序的安装目录。
连接到数据库
使用数据库连接对话框或创建数据库连接工具来添加数据库连接。使用数据库连接对话框的步骤如下所述。
- 在 ArcMap 或 ArcCatalog 的目录树中,展开数据库连接,然后双击添加数据库连接。
- 从数据库平台下拉列表中选择 Teradata。
- 在数据源文本框中,键入为 ODBC 驱动程序所配置的数据源名称。如果尚未配置 ODBC 数据源名称,则键入 Teradata 服务器的 IP 地址。语法如下:
dbcName=<IP 地址>
例如,如果服务器的 IPV4 地址为 200.30.200.10,则键入 dbcName=200.30.200.10。如果服务器具有 IPV6 地址,则要用括号将地址括起来。例如,如果服务器的 IPV6 地址为 3020:12z3:y4xw:5099:0:v678:u111:ts22,则键入 dbcName=[3020:12z3:y4xw:5099:0:v678:u111:ts22]。
- 在身份验证类型中选择数据库身份验证。
- 在用户名和密码文本框中分别输入有效的数据库用户名和密码。
- 如果不希望将登录信息保存为连接的一部分,请取消选中保存用户名和密码;这样做可帮助保持数据库的安全性。但是,如果执行此操作,则系统会在每次从桌面客户端连接时提示您提供用户名和密码。
- 单击确定进行连接。
文件的创建位置为 \\<computer_name>\Users\<user_name>\AppData\Roaming\ESRI\Desktop<release#>\ArcCatalog。
可以将连接移动到另一位置;只需确保需要建立连接的用户和应用程序有权读取放置连接文件的目录。
如果需要将此连接文件中的数据用作服务(如地理处理和地理编码服务)源,则可能需要将连接文件置于网络上的某个共享位置。有关共享连接文件的详细信息,请参阅使数据可供 ArcGIS Server 访问。
从 ArcGIS Server 进行连接
可以发布引用您 Teradata 数据库中数据的服务。这需要您进行以下操作:
- 将 Teradata 客户端文件安装到您 ArcGIS Server 站点中的每台计算机上,并配置 ODBC 数据源名称。
- 如果您的 ArcGIS Server 站点在 Linux 计算机上运行,则需要配置 init_user_param.sh 文件才能使用 Teradata ODBC 驱动程序。
- 以有权访问您所需发布数据的用户的身份创建连接文件,以连接到数据库。
- 使用连接文件将数据库注册到 ArcGIS Server 站点。
安装 Teradata 文件并配置 ODBC 驱动程序
- 从 Teradata 网站中下载 64 位 Teradata 客户端文件。
- 在 ArcGIS Server 站点中每个计算机上安装 Teradata ICU 库和 GSS 客户端。
- 在 ArcGIS Server 站点中每个计算机上安装 Teradata ODBC 驱动器。
- 配置 ODBC 驱动程序。
- 在 Windows 操作系统中,在 Teradata ODBC 驱动程序选项对话框中更改以下设置:
- 将会话模式设置为 Teradata。
- 选择支持使用本机大对象选项。
- 在 Linux 操作系统中,在 odbc.ini 文件中设置以下参数:
- SessionMode=Teradata
- UseNativeLOBSupport=Yes
- 在 Windows 操作系统中,在 Teradata ODBC 驱动程序选项对话框中更改以下设置:
- 在 Linux 系统中,如果从 ArcGIS Server 站点建立连接,则执行以下操作:
- 确保已在 ArcGIS Server 站点中的每台计算机上安装了 Linux ODBC 驱动程序管理器。
- 将 Teradata ODBC 连接文件放置在站点中每台计算机 ArcGIS Server 帐户的 $HOME 目录中。文件必须命名为 .odbc.ini 和 .odbcinst.ini。
- 可以选择配置在连接到数据库时使用的 ODBC 数据源名称。
如果为数据库设置 ODBC 数据源名称,则在为相同数据库配置所有 Teradata ODBC 客户端时使用该名称。例如,所有 ArcGIS Desktop 计算机和您 ArcGIS Server 站点中的计算机上的 Teradata ODBC 驱动程序所使用的数据源名称必须相同。如果没有进行此操作,则无法正常将数据库注册到 ArcGIS Server站点,因为其会比较待发布数据的连接字符串与注册数据库的连接字符串。
- 在 Windows 系统中,如果从 ArcGIS Server 建立连接,则将 PATH 环境变量设置为 Teradata ODBC 驱动程序的安装目录。为站点中的每台计算机执行此操作。
更改 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 开头的行中的注释标记 (#)。
# ----------------------------------------------------------- # Modify this section to configure a connection to Teradata. # # To make a connection, name the Teradata ODBC configuration files as # .odbcinst.ini and .odbc.ini and store them in the ArcGIS Server user $HOME directory. # # ------------------------------------------------------------------------- #export LIB_ODBC_DRIVER_MANAGER=<Teradata_InstallDir>/client/14.00/odbc_64/lib/libodbc.so #export TDDIR=<Teradata_InstallDir>/client/14.00/odbc_64 #export LD_LIBRARY_PATH=$TDDIR/lib:$LD_LIBRARY_PATH #export ODBCINI=<Location_to_.odbc.ini>/.odbc.ini
- 修改值以匹配 ODBC 驱动程序安装信息。
- 保存并关闭脚本。
- 在您为 ArcGIS Server 站点的每台计算机配置 init_user_param.sh 之后,在每台计算机上运行 startserver.sh 脚本来重启 ArcGIS Server。
./startserver.sh
注册数据库
如果您希望地图服务使用 Teradata 数据库中的数据而非发布时创建的数据副本,请将 Teradata 注册到 ArcGIS Server 站点。您可以在 ArcMap 或 ArcGIS Server Manager 中执行此操作。