创建数据库连接 (数据管理)

摘要

创建 ArcGIS 用于连接到数据库或企业级地理数据库的文件。

使用情况

  • 在工具对话框中提供有效的连接信息并建立连接后,该工具将连接到数据库,以确定其是否包含地理数据库方案。

    • 对于数据库,地理处理窗格中地理数据库连接属性参数类别中的所有参数都将被忽略。
    • 对于地理数据库,该工具会自动填充地理数据库连接属性参数类别。 方案参数设置有 sde 方案(仅适用于 Oracle 用户方案地理数据库)、地理数据库的默认版本类型值和默认版本。
  • 如果您不希望将连接信息保存在结果窗口中或存储在地理处理历史记录日志文件中,请禁用地理处理历史记录的所有日志选项,并在保存连接文件时不保存连接信息。

  • 不再支持从 ArcGIS 连接到 AltibaseNetezza

参数

标注说明数据类型
连接文件位置

存储数据库连接文件 (.sde) 的文件夹路径。

Folder
连接文件名称

数据库连接文件的名称。 输出文件的扩展名将为 .sde

String
数据库平台

指定要建立连接的数据库管理系统平台。 有效选项如下:

  • BigQuery将与 Google BigQuery 建立连接。
  • DAMENG将与 Dameng 建立连接。
  • Db2对于 Linux、UNIX 或 Windows,将与 IBM Db2 建立连接。
  • Oracle将与 OracleAmazon Relational Database Service (RDS) for OracleAutonomous Transaction Processing 建立连接。
  • PostgreSQL将与 PostgreSQLAmazon Aurora (PostgreSQL-compatible edition)Amazon Relational Database Service (RDS) for PostgreSQLGoogle Cloud SQL for PostgreSQLMicrosoft Azure Database for PostgreSQLMicrosoft Azure Cosmos DB for PostgreSQL 建立连接。
  • Redshift将与 Amazon Redshift 建立连接。
  • Teradata将与 Teradata Vantage 建立连接。
  • SAP HANA将与 SAP HANASAP HANA Cloud 建立连接。
  • Snowflake将与 Snowflake 建立连接。
  • SQL Server将与 Microsoft SQL ServerMicrosoft Azure SQL DatabaseMicrosoft Azure SQL Managed InstanceAmazon Relational Database Service (RDS) for SQL ServerGoogle Cloud SQL for SQL Server 建立连接。
String
实例/服务器
(可选)

要连接的数据库服务器或实例。

数据库平台下拉列表中选择的值表示将连接的数据库或云数据仓库的类型。 根据所选择的连接类型,需提供的实例/服务器参数信息将会有所不同。

有关为各个平台提供的内容的详细信息,请参阅下文。

  • Dameng - 安装 Dameng 数据库的服务器的名称
  • Db2 - 编入目录的 Db2 数据库的名称
  • Oracle - TNS 名称或用于连接 Oracle 数据库或数据库服务的 Oracle Easy Connection 字符串
  • PostgreSQL - 安装 PostgreSQL 的服务器名称或 PostgreSQL 数据库服务实例的名称
  • Redshift - Redshift 服务器的 URL
  • SAP HANA - SAP HANA 数据库或数据库服务的开放式数据库连通性 (ODBC) 数据源名称
  • Snowflake - Snowflake 服务器的 URL
  • SQL Server - SQL Server 数据库实例的名称或数据库服务实例的名称。
  • Teradata - Teradata 数据库的 ODBC 数据源名称。
String
数据库身份验证
(可选)

指定要使用的身份验证类型。

  • 数据库身份验证将使用数据库身份验证。 将使用内部数据库用户名和密码连接到数据库。 创建连接无需提供用户名和密码;但是,如果不输入用户名和密码,系统将在连接建立好之后提示您输入用户名和密码。
    注:

    如果 ArcGIS 服务可通过您所创建的连接文件来对数据库或地理数据库进行访问,或者您想使用目录搜索来查找通过此连接文件访问的数据,您都必须将用户名和密码包括在内。

  • 操作系统身份验证将使用操作系统身份验证。 不必提供用户名和密码。 将用登录操作系统时所使用的用户名和密码建立连接。 如果操作系统使用的登录信息不能用作数据库的登录信息,连接将失败。
Boolean
用户名
(可选)

将用于数据库身份验证的数据库用户名。

String
密码
(可选)

将用于数据库身份验证的数据库用户密码。

Encrypted String
保存用户名和密码
(可选)

指定是否将保存用户名和密码。

  • 选中 - 用户名和密码将保存在连接文件中。 这是默认设置。 如果 ArcGIS 服务可通过您所创建的连接文件来对数据库、地理数据库或云数据仓库进行访问,如果您需要使用目录搜索来查找通过此连接文件访问的数据,或您使用脚本中的连接文件,您都必须保存用户名和密码。
  • 未选中 - 用户名和密码将不会保存在该连接文件中。 每次试图使用文件进行连接时,系统都将提示您输入用户名和密码。
    注:

    对于第一次成功连接数据库,如果您未保存用户名和密码,ArcGIS AllSource 将缓存凭据。 如果您在同一 ArcGIS AllSource 会话中创建与同一数据库、地理数据库或云数据仓库实例的第二次连接,并且未保存凭据,则将使用第一次连接时缓存的凭据,即使您在第二次连接文件中提供其他凭据也是如此。 要在未保存用户名和密码的情况下使用其他凭据连接,启动新 ArcGIS AllSource 会话。

Boolean
数据库
(可选)

要建立连接的数据库名称。 此参数适用于 PostgreSQLRedshiftSnowflakeSQL Server 平台。

String
方案(仅 Oracle 用户方案地理数据库)
(可选)

将与之建立连接的用户方案地理数据库。 工具将决定是否连接到包含用户方案地理数据库的 Oracle 数据库。 如果 Oracle 数据库包含用户方案,此选项将激活;否则,将保持非活动状态。 此参数的默认选项为使用 sde 方案理数据库。

String
版本类型
(可选)

指定要建立连接的版本类型。 此参数仅在连接到地理数据库时适用。

注:

如果选择历史并提供了名称,将使用默认的事务版本。 如果选择时间点并且未在日期和时间参数中提供日期,将使用默认的事务版本。

  • 事务将连接到事务版本。 如果选择事务,则将使用事务版本的列表填充将使用以下版本参数,而日期和时间参数将禁用。 这是默认设置。
  • 历史将连接到历史标记。 如果选择历史,则将使用历史标记的列表填充将使用以下版本参数,而日期和时间参数将禁用。
  • 时间点将在特定时间点建立连接。 如果选择时间点,则将使用以下版本参数将禁用,而日期和时间参数将变为活动状态。
  • 分支将连接到默认分支版本。
String
将使用以下版本
(可选)

要与之建立连接的地理数据库事务版本或历史标记。 默认选项将使用默认事务版本。

如果选择分支版本类型,则会始终连接到默认分支版本。

String
日期和时间
(可选)

此值表示将用于连接到数据库的日期和时间。 此选项用于启用存档的数据。 利用时间选取器选择相应的日期。

如果手动输入日期,可以使用以下格式:

  • 6/9/2011 4:20:15 PM
  • 6/9/2011 16:20:15
  • 6/9/2011
  • 4:20:15 PM
  • 16:20:15

注:

  • 如果所输入的时间无日期,则将使用默认日期 1899 年 12 月 30 日。
  • 如果所输入的日期无时间,则将使用默认时间 12:00:00 AM。

Date
高级身份验证类型
(可选)

指定连接到云数据仓库、Microsoft Azure SQL DatabaseAzure SQL Managed Instance 时将使用的高级身份验证类型。

  • Microsoft Entra MFA将使用 Microsoft Entra multifactor authentication (MFA) 用户名身份验证类型,但不使用密码。 在进行连接时,系统会通过短信、电子邮件或 MFA 设备向您发送代码,或者可以使用指纹扫描进行身份验证。 身份验证过程的第二部分将会有所不同,具体取决于您的网络和身份验证协议的配置方式。 此选项仅支持 Azure SQL DatabaseAzure SQL Managed Instance
  • Microsoft Entra Password将使用需要用户名和密码参数值的 Microsoft Entra Password 身份验证类型。 用户名最多可以是 30 个字符。 此选项仅支持 Azure SQL DatabaseAzure SQL Managed Instance
  • Microsoft Entra Integrated将使用 Microsoft Entra Integrated 身份验证类型。 不必提供用户名和密码。 将用登录操作系统时所使用的用户名和密码建立连接。 此选项仅支持 Azure SQL DatabaseAzure SQL Managed Instance
  • 服务身份验证将使用连接到 Google BigQuery 时的服务身份验证类型。 有关信息,请参阅有关身份验证的 Google BigQuery 文档
  • 标准将使用连接到 Amazon Redshift 时的标准身份验证类型。 有关标准身份验证的信息,请参阅 Amazon Redshift ODBC Data Connector 安装和配置指南
  • 用户将使用连接到 Snowflake 时需要用户名和密码的身份验证方法。
  • 用户身份验证将使用连接到 Google BigQuery 时的用户身份验证类型。 有关信息,请参阅有关身份验证的 Google BigQuery 文档
String
工程 ID
(可选)

Google BigQuery 连接的工程 ID。

String
默认数据集
(可选)

Google BigQuery 连接的默认数据集。

String
刷新令牌
(可选)

刷新令牌值。

该参数仅适用于高级身份验证类型为用户身份验证的 Google BigQuery 连接。

Encrypted String
密钥文件
(可选)

密钥文件值。

该参数仅适用于高级身份验证类型为服务器身份验证的 Google BigQuery 连接。

File
角色
(可选)

云数据仓库连接的角色值。

此参数仅适用于与 Snowflake 的连接。

String
仓库
(可选)

连接的仓库值。

此参数仅适用于与 Snowflake 的连接。

String
高级选项
(可选)

连接的高级选项。 此为特定于您连接到的云数据仓库平台(Google BigQueryAmazon RedshiftSnowflake)的可选连接信息。 使用以分号分隔的 Option=<value> 提供高级选项。 例如,option1=value1;option2=value2;。 有关可选连接选项的信息,请参阅云数据仓库文档。

String

派生输出

标注说明数据类型
输出工作空间

输出数据库连接文件 (.sde)。

workspace

arcpy.management.CreateDatabaseConnection(out_folder_path, out_name, database_platform, {instance}, {account_authentication}, {username}, {password}, {save_user_pass}, {database}, {schema}, {version_type}, {version}, {date}, {auth_type}, {project_id}, {default_dataset}, {refresh_token}, {key_file}, {role}, {warehouse}, {advanced_options})
名称说明数据类型
out_folder_path

存储数据库连接文件 (.sde) 的文件夹路径。

Folder
out_name

数据库连接文件的名称。 输出文件的扩展名将为 .sde

String
database_platform

指定要建立连接的数据库管理系统平台。 有效选项如下:

  • BIGQUERY将与 Google BigQuery 建立连接。
  • DAMENG将与 Dameng 建立连接。
  • DB2对于 Linux、UNIX 或 Windows,将与 IBM Db2 建立连接。
  • ORACLE将与 OracleAmazon Relational Database Service (RDS) for OracleAutonomous Transaction Processing 建立连接。
  • POSTGRESQL将与 PostgreSQLAmazon Aurora (PostgreSQL-compatible edition)Amazon Relational Database Service (RDS) for PostgreSQLGoogle Cloud SQL for PostgreSQLMicrosoft Azure Database for PostgreSQLMicrosoft Azure Cosmos DB for PostgreSQL 建立连接。
  • REDSHIFT将与 Amazon Redshift 建立连接。
  • SAP HANA将与 SAP HANASAP HANA Cloud 建立连接。
  • SNOWFLAKE将与 Snowflake 建立连接。
  • SQL_SERVER将与 Microsoft SQL ServerMicrosoft Azure SQL DatabaseMicrosoft Azure SQL Managed InstanceAmazon Relational Database Service (RDS) for SQL ServerGoogle Cloud SQL for SQL Server 建立连接。
  • TERADATA将与 Teradata Vantage 建立连接。
String
instance
(可选)

要连接的数据库服务器或实例。

所指定的 database_platform 参数值表示将连接的数据库或云数据仓库的类型。 根据所指定的平台,需提供的 instance 参数信息将有所不同。

有关为各个平台提供的内容的详细信息,请参阅下文。

  • Dameng - 安装 Dameng 数据库的服务器的名称
  • Db2 - 编入目录的 Db2 数据库的名称
  • Oracle - TNS 名称或用于连接 Oracle 数据库或数据库服务的 Oracle Easy Connection 字符串
  • PostgreSQL - 安装 PostgreSQL 的服务器名称或 PostgreSQL 数据库服务实例的名称
  • Redshift - Redshift 服务器的 URL
  • SAP HANA - SAP HANA 数据库或数据库服务的开放式数据库连通性 (ODBC) 数据源名称
  • Snowflake - Snowflake 服务器的 URL
  • SQL Server - SQL Server 数据库实例的名称或数据库服务实例的名称。
  • Teradata - Teradata 数据库的 ODBC 数据源名称。
String
account_authentication
(可选)

指定要使用的身份验证类型。

  • DATABASE_AUTH将使用数据库身份验证。 将使用内部数据库用户名和密码连接到数据库。 创建连接无需提供用户名和密码;但是,如果不输入用户名和密码,系统将在连接建立好之后提示您输入用户名和密码。
    注:

    如果 ArcGIS 服务可通过您所创建的连接文件来对数据库或地理数据库进行访问,或者您想使用目录搜索来查找通过此连接文件访问的数据,您都必须将用户名和密码包括在内。

  • OPERATING_SYSTEM_AUTH将使用操作系统身份验证。 不必提供用户名和密码。 将用登录操作系统时所使用的用户名和密码建立连接。 如果操作系统使用的登录信息不能用作数据库的登录信息,连接将失败。
Boolean
username
(可选)

将用于数据库身份验证的数据库用户名。

String
password
(可选)

将用于数据库身份验证的数据库用户密码。

Encrypted String
save_user_pass
(可选)

指定是否将保存用户名和密码。

  • SAVE_USERNAME用户名和密码将保存在连接文件中。 这是默认设置。 如果 ArcGIS 服务可通过您所创建的连接文件来对数据库、地理数据库或云数据仓库进行访问,或者您想使用目录搜索来查找通过此连接文件访问的数据,您都必须保存用户名和密码。
  • DO_NOT_SAVE_USERNAME用户名和密码不会保存在连接文件中。 每次试图使用文件进行连接时,系统都将提示您输入用户名和密码。
    注:

    对于第一次成功连接数据库,如果您未保存用户名和密码,ArcGIS AllSource 将缓存凭据。 如果您在同一 ArcGIS AllSource 会话中创建与同一数据库、地理数据库或云数据仓库实例的第二次连接,并且未保存凭据,则将使用第一次连接时缓存的凭据,即使您在第二次连接文件中提供其他凭据也是如此。 要在未保存用户名和密码的情况下使用其他凭据连接,启动新 ArcGIS AllSource 会话。

Boolean
database
(可选)

要建立连接的数据库名称。 此参数适用于 PostgreSQLRedshiftSnowflakeSQL Server 平台。

String
schema
(可选)

将与之建立连接的用户方案地理数据库。 此选项仅适用于至少包含一个用户方案地理数据库的 Oracle 数据库。 此参数的默认值为使用 sde 方案地理数据库。

String
version_type
(可选)

指定要建立连接的版本类型。

  • TRANSACTIONAL将连接到传统事务版本。
    注:

    此选项不适用于 SAP HANA 中的地理数据库。

  • HISTORICAL将连接到历史标记。
  • POINT_IN_TIME将在特定时间点建立连接。 如果使用 POINT_IN_TIME,则将忽略 version 参数。
  • BRANCH将连接到默认分支版本。

注:

如果使用 TRANSACTIONALHISTORICAL,则将忽略 date 参数。 如果使用 HISTORICAL 并且未在 version 参数中提供名称,将使用默认的事务版本。 如果选择 POINT_IN_TIME 并且未在 date 参数中提供日期,将使用默认的事务版本。

String
version
(可选)

要与之建立连接的地理数据库事务版本或历史标记。 默认选项将使用默认事务版本。

如果选择分支版本类型,则会始终连接到默认分支版本。

String
date
(可选)

此值表示在使用启用了存档功能的数据时,将用于连接到数据库的日期和时间。

可按以下格式输入日期:

  • 6/9/2011 4:20:15 PM
  • 6/9/2011 16:20:15
  • 6/9/2011
  • 4:20:15 PM
  • 16:20:15

注:

  • 如果所输入的时间无日期,则将使用默认日期 1899 年 12 月 30 日。
  • 如果所输入的日期无时间,则将使用默认时间 12:00:00 AM。

Date
auth_type
(可选)

指定连接到云数据仓库、Microsoft Azure SQL DatabaseAzure SQL Managed Instance 时将使用的高级身份验证类型。

  • AZURE_ACTIVE_DIRECTORY_UNIVERSAL_WITH_MFA将使用 Microsoft Entra multifactor authentication (MFA) 用户名身份验证类型,但不使用密码。 在进行连接时,系统会通过短信、电子邮件或 MFA 设备向您发送代码,或者可以使用指纹扫描进行身份验证。 身份验证过程的第二部分将会有所不同,具体取决于您的网络和身份验证协议的配置方式。 此选项仅支持 Azure SQL DatabaseAzure SQL Managed Instance
  • AZURE_ACTIVE_DIRECTORY_PASSWORD将使用需要用户名和密码参数值的 Microsoft Entra Password 身份验证类型。 用户名最多可以是 30 个字符。 此选项仅支持 Azure SQL DatabaseAzure SQL Managed Instance
  • AZURE_ACTIVE_DIRECTORY_INTEGRATEDSERVICE_AUTHENTICATION将使用 Microsoft Entra Integrated 身份验证类型。 不必提供用户名和密码。 将用登录操作系统时所使用的用户名和密码建立连接。 此选项仅支持 Azure SQL DatabaseAzure SQL Managed Instance
  • SERVICE_AUTHENTICATION将使用连接到 Google BigQuery 时的服务身份验证类型。 有关信息,请参阅有关身份验证的 Google BigQuery 文档
  • STANDARD将使用连接到 Amazon Redshift 时的标准身份验证类型。 有关标准身份验证的信息,请参阅 Amazon Redshift ODBC Data Connector 安装和配置指南
  • USER将使用连接到 Snowflake 时需要用户名和密码的身份验证方法。
  • USER_AUTHENTICATION将使用连接到 Google BigQuery 时的用户身份验证类型。 有关信息,请参阅有关身份验证的 Google BigQuery 文档
String
project_id
(可选)

Google BigQuery 连接的工程 ID。

String
default_dataset
(可选)

Google BigQuery 连接的默认数据集。

String
refresh_token
(可选)

刷新令牌值。

该参数仅适用于高级身份验证类型为用户身份验证的 Google BigQuery 连接。

Encrypted String
key_file
(可选)

密钥文件值。

该参数仅适用于高级身份验证类型为服务器身份验证的 Google BigQuery 连接。

File
role
(可选)

云数据仓库连接的角色值。

此参数仅适用于与 Snowflake 的连接。

String
warehouse
(可选)

连接的仓库值。

此参数仅适用于与 Snowflake 的连接。

String
advanced_options
(可选)

连接的高级选项。 此为特定于您连接到的云数据仓库平台(Google BigQueryAmazon RedshiftSnowflake)的可选连接信息。 使用以分号分隔的 Option=<value> 提供高级选项。 例如,option1=value1;option2=value2;。 有关可选连接选项的信息,请参阅云数据仓库文档。

String

派生输出

名称说明数据类型
out_workspace

输出数据库连接文件 (.sde)。

workspace

代码示例

CreateDatabaseConnection 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 CreateDatabaseConnection 函数。

import arcpy
arcpy.CreateDatabaseConnection_management("C:\\MyProject",
                                          "utah.sde",
                                          "SQL_SERVER",
                                          "utah",
                                          "DATABASE_AUTH",
                                          "gdb",
                                          "gdb",
                                          "SAVE_USERNAME",
                                          "garfield",
                                          "#",
                                          "TRANSACTIONAL",
                                          "sde.DEFAULT")
CreateDatabaseConnection 示例 2(独立脚本)

以下独立脚本演示了如何使用 CreateDatabaseConnection 函数。

# Name: CreateDatabaseConnection2.py
# Description: Connects to a database using Easy Connect string
#              and operating system authentication.

# Import system modules
import arcpy

# Run the tool
arcpy.CreateDatabaseConnection_management("C:\\MyProject",
                                          "zion.sde",
                                          "ORACLE",
                                          "zionserver/ORCL",
                                          "OPERATING_SYSTEM_AUTH")
CreateDatabaseConnection 示例 3(Python 窗口)

以下 Python 窗口脚本演示了如何使用 CreateDatabaseConnection 函数连接到历史标记。

# Name: CreateDatabaseConnection3.py
# Description: Connects to a geodatabase historical marker using a
#              cataloged DB2 database and database authentication.

# Import system modules
import arcpy

# Run the tool
arcpy.CreateDatabaseConnection_management("C:\\MyProject",
                                          "history.sde",
                                          "DB2",
                                          "DB2_DS",
                                          "DATABASE_AUTH",
                                          "butch",
                                          "sundance",
                                          "SAVE_USERNAME",
                                          "#",
                                          "#",
                                          "HISTORICAL",
                                          "June 9, 2010",
                                          "#")
CreateDatabaseConnection 示例 4(Python 窗口)

以下 Python 窗口脚本演示了如何使用 CreateDatabaseConnection 函数连接到时间点。

# Name: CreateDatabaseConnection4.py
# Description: Connects to a point in time in the geodatabase in
#              PostgreSQL using database authentication.

# Import system modules
import arcpy

# Run the tool
arcpy.CreateDatabaseConnection_management("C:\\MyProject",
                                          "history.sde",
                                          "POSTGRESQL",
                                          "dbserver",
                                          "DATABASE_AUTH",
                                          "stevie",
                                          "smith",
                                          "SAVE_USERNAME",
                                          "archivedb",
                                          "#",
                                          "POINT_IN_TIME",
                                          "#",
                                          "5/19/2011 8:43:41 AM")

相关主题