要将 ArcGIS Server 连接到受支持的数据库平台,需要执行以下操作:
安装并配置数据库客户端软件
下列主题提供了关于如何安装并配置特定数据库的客户端软件的说明。请注意,所安装的客户端软件版本必须与要连接的数据库版本相兼容。
按照下面主题中的说明在 ArcGIS Server 计算机上设置数据库客户端软件:
- 从 ArcGIS 连接到 ALTIBASE
- 从 ArcGIS 连接到 Dameng
- 从 ArcGIS 连接到 DB2
- 从 ArcGIS 连接到 Informix
- 从 ArcGIS 连接到 Oracle
- 从 ArcGIS 连接到 Netezza
- 从 ArcGIS 连接到 Teradata
- 从 ArcGIS 连接到 SAP HANA
无需单独的数据库客户端即可连接到 PostgreSQL。
请参考 init_user_param.sh 脚本中的数据库客户端库
对于大多数数据库,需在 ArcGIS Server init_user_param.sh 脚本中引用数据库客户端库。可通过浏览至 <ArcGIS Server installation directory>/arcgis/server/usr 目录访问该脚本。
注:
添加引用前,请确保 ArcGIS Server 安装程序所有者至少具有在数据库客户端库中读取和执行的权限。
另请注意,由于 PostgreSQL 客户端库随 ArcGIS Server, 一起安装,所以 init_user_param.sh 中无需 PostgreSQL 条目。
在 init_user_param.sh 脚本中,通过引用数据库客户端库和其他数据库变量,编辑与 RDBMS 相关的部分。要启用变量,移除以 # 开头的行中的 export。
例如:
ALTIBASE
# -----------------------------------------------------------------------
# Modify this section to configure a connection to ALTIBASE.
#
# -------------------------------------------------------------------------------
#export ALTIBASE_HOME=<Altibase_InstallDir>
#export ALTIBASE_PORT_NO=<Altibase_Port_No>
#export PATH=${ALTIBASE_HOME}/bin:${PATH}
#export LD_LIBRARY_PATH=${ALTIBASE_HOME}/lib:${LD_LIBRARY_PATH}
#export CLASSPATH=${ALTIBASE_HOME}/lib/Altibase.jar:${CLASSPATH}
注:
ALTIBASE Linux 客户端会将以下环境变量添加到安装帐户的 .bash_profile 文件:# ALTIBASE_ENV export ALTIBASE_HOME=/data/installed/altibase-HDB-client-6.3.1 export ALTIBASE_PORT_NO=20300 export PATH=${ALTIBASE_HOME}/bin:${PATH}
export LD_LIBRARY_PATH=${ALTIBASE_HOME}/lib:${LD_LIBRARY_PATH}
export CLASSPATH=${ALTIBASE_HOME}/lib/Altibase.jar:${CLASSPATH}
可从 .bash_profile 文件中注释掉这些行或确保以下设置与您在 init_user_param.sh 文件中的设置相同。
Dameng
# Modify this section to configure a connection to Dameng. export DAMENGDIR=<Dameng_InstallDir>
export LD_LIBRARY_PATH=$DAMENGDIR/bin:$LD_LIBRARY_PATH
DB2
#
# Modify this section to configure a connection to DB2 export DB2_CLIENT_HOME=<DB2_InstallDir>
export DB2INSTANCE=<DB2_instance_name>
export PATH=DB2_CLIENT_HOME/bin:$PATH
export LD_LIBRARY_PATH=$DB2_CLIENT_HOME/lib64:$LD_LIBRARY_PATH
Informix
#
# Modify this section to configure a connection to Informix
#
export INFORMIXDIR=<Informix_InstallDir>
export INFORMIXSERVER=<Informix_Database_Server_Name>
export INFORMIXSQLHOSTS=<Location_to_sqlhosts>
export ODBCINI=<Location_to_.odbc.ini>
export PATH=$INFORMIXDIR/bin:$PATH
export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$INFORMIXDIR/lib/cli:$INFORMIXDIR/lib/esql:$LD_LIBRARY_PATH
Netezza
# -----------------------------------------------------------------------
# Modify this section to configure a connection to Netezza. #
# To make a connection, name the Netezza ODBC configuration files as .odbcinst.ini
# and .odbc.ini and store them in the ArcGIS Server user $HOME directory.
#
# Also install a Linux ODBC driver manager and reference it by setting
# the LIB_ODBC_DRIVER_MANAGER variable. #
# -------------------------------------------------------------------------------------
export LIB_ODBC_DRIVER_MANAGER=<Location_to_libodbc.so>/libodbc.so
Oracle
#
# For connection with Oracle Runtime or Administrator Client
#
export ORACLE_BASE=<Oracle_Installdir>/app export ORACLE_HOME=$ORACLE_BASE/<Oracle_release>/product/<Oracle_version>/<client_version>
export ORACLE_SID=<set when applicable>
export TNS_ADMIN=<set when applicable. e.g.$ORACLE_HOME/network/admin>
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
注:
如果安装了多个 Oracle 客户端,您将看到多个 Oracle 客户端文件夹。请确保将 ORACLE_HOME 变量设置到用于与 ArcGIS Server 中的数据库连接的文件夹中。
如果使用 Oracle 数据库即时客户端库,则只需引用 $LD_LIBRARY_PATH,例如:
#
# For connection with Oracle Instant Client
#
export LD_LIBRARY_PATH=<Location_to_instantclient_11_2>:$LD_LIBRARY_PATH
SAP HANA
# -----------------------------------------------------------------------
# Modify this section to configure a connection to SAP HANA. #
# To make a connection, name the SAP HANA ODBC configuration files as .odbcinst.ini
# and .odbc.ini and store them in the ArcGIS Server user $HOME directory. #
# Also install a Linux ODBC driver manager and reference it by setting
# the LIB_ODBC_DRIVER_MANAGER variable. #
# -------------------------------------------------------------------------------------
export LIB_ODBC_DRIVER_MANAGER=<Location_to_libodbc.so>/libodbc.so
Teradata
# -----------------------------------------------------------------------
# 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>/<version>/14.00/odbc_64/lib/libodbc.so
#export TDDIR=<Teradata_InstallDir>/client/<version>/odbc_64
#export LD_LIBRARY_PATH=$TDDIR/lib:$LD_LIBRARY_PATH
#export ODBCINI=<Location_to_.odbc.ini>/.odbc.ini
重新启动 ArcGIS Server
为使您的设置在 init_user_param.sh 脚本中生效,您需要重新启动 ArcGIS Server。可以通过运行 startserver.sh 脚本,手动重启部署中的每个 GIS 服务器,来执行此操作。
测试连接
配置与 ArcGIS Server 中数据库的连接后,应通过以下方法测试连接:
- 将数据库注册到服务器
- 使用数据库中的数据向服务器发布服务
如果遇到有关连接的问题,请查看服务器日志以获取详细信息。要了解服务器日志的详细信息,请参阅查看、查询和配置服务器日志。
注:
如果之前已经引用了用户配置文件中的数据库客户端库,则仍可以与 ArcGIS Server 中的数据库连接。但是,如果用户配置文件和 init_user_param.sh 的引用信息不同,则在尝试与数据库连接时可能会出现问题。要缓解连接问题,可从用户配置文件中移除参考信息,然后使用上述方法引用数据库客户端库。