Skip To Content

为 ArcGIS Server 配置数据库连接

要将 ArcGIS Server 站点连接到受支持的数据库平台或云数据仓库,需要执行以下操作:

安装并配置数据库客户端软件

下列主题提供了关于如何安装并配置特定数据库的客户端软件的说明。 请注意,所安装的客户端软件版本必须与要连接的数据库版本相兼容。

按照下面主题中的说明在 ArcGIS Server 计算机上设置数据库客户端软件:

无需单独的数据库客户端即可连接到 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 脚本中,通过引用数据库客户端库和其他数据库变量编辑与数据库管理系统相关的部分。 要启用变量,请移除以 export 开头的行中的 #

例如:

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

Google BigQuery

# -----------------------------------------------------------------------
# Modify this section to configure a ODBC connection to Google BigQuery Data 
# Warehouse.
#
# To make a connection, copy GoogleBigQueryODBC.did to the lib folder under the 
# extracted directory for Google BigQuery ODBC driver. Edit 
# simba.googlebigqueryodbc.ini and set DriverManagerEncoding=UTF-16. Configure and 
# store the odbcinst.ini in the /etc folder. 
#
# -----------------------------------------------------------------------
export LIB_ODBC_DRIVER_MANAGER=<Location_to_ODBC_driver_manager_libraries>/libodbc.so.2
export SIMBAGOOGLEBIGQUERYODBCINI=<Location_to_simba.googlebigqueryodbc.ini>/simba.googlebigqueryodbc.ini

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

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

Redshift

# -----------------------------------------------------------------------
# Modify this section to configure Amazon Redshift ODBC connector
# 
# -----------------------------------------------------------------------
export LIB_ODBC_DRIVER_MANAGER=<Location_to_ODBC_driver_manager_libraries>/libodbc.so.2
export AMAZONREDSHIFTODBCINI=<Location_to_amazon.redshiftodbc.ini>/amazon.redshiftodbc.ini

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.
#
# -----------------------------------------------------------------------
export SAPHANADIR=<SAPHANA_InstallDir>/sap/hdbclient
export LD_LIBRARY_PATH=$SAPHANADIR:$LD_LIBRARY_PATH

Snowflake

#
# Modify this section to configure a connection to Snowflake Data Warehouse
# 
# -----------------------------------------------------------------------
export LIB_ODBC_DRIVER_MANAGER=<Location_to_ODBC_driver_manager_libraries>/libodbc.so.2

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。 要执行此操作,请在 ArcGIS Server 站点中的每台计算机上运行 startserver.sh 脚本。

测试连接

要测试与数据库的连接,请执行以下操作*:

  1. 将数据库注册ArcGIS Server 站点。
  2. 使用数据库中的数据发布服务

* 对于 InformixDb2 z/OS 数据库,使用 ArcMap 10.8.x 创建服务定义文件(其中不包含服务数据),并发布服务定义文件来测试连接。 10.9.1 版本之后,您无法发布包含来自 Informix 或 z/OS 上的 Db2 的数据的服务。

要测试与云数据仓库的连接,请执行以下操作:

  1. 添加数据存储项目,以便将数据库连接文件注册到托管服务器。
  2. 为云数据仓库中的表定义查询图层
  3. 从查询图层发布服务

如果遇到有关连接的问题,请查看服务器日志以获取详细信息。 要了解服务器日志的详细信息,请参阅使用服务器日志

注:

如果之前已经引用了用户配置文件中的数据库客户端库,ArcGIS Server 仍可以与数据库连接。 但是,如果用户配置文件和 init_user_param.sh 文件的引用信息不同,则在尝试与数据库连接时可能会出现问题。 要缓解连接问题,可从用户配置文件中移除参考信息,然后使用上述方法引用数据库客户端库。