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

摘要

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

使用情况

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

    • 对于数据库,工具对话框地理数据库连接属性部分中的所有参数均将被忽略。
    • 对于地理数据库,该工具会自动填充地理数据库连接属性部分。 方案参数设置有 sde 方案(仅适用于 Oracle 用户方案地理数据库)、地理数据库的默认版本类型和默认版本。
  • 不再支持从 ArcGIS 连接到 AltibaseNetezza

参数

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

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

Folder
连接文件名称

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

String
数据库平台

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

  • DAMENG连接到 Dameng
  • Db2连接至 Linux、UNIX 或 Windows 上的 IBM Db2
  • Oracle连接到 OracleAmazon Relational Database Service (RDS) for OracleAutonomous Transaction Processing database in Oracle Cloud
  • PostgreSQL连接到 PostgreSQLAmazon Aurora PostgreSQLAmazon Relational Database Service (RDS) for PostgreSQLMicrosoft Azure Database for PostgreSQL
  • Teradata连接到 Teradata Data Warehouse Appliance
  • SAP HANA连接到 SAP HANASAP HANA Cloud
  • SQL Server连接到 Microsoft SQL ServerMicrosoft Azure SQL DatabaseMicrosoft Azure SQL Managed InstanceAmazon Relational Database Service (RDS) for SQL Server
String
实例

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

数据库平台下拉列表中选择的值表示要连接的数据库的类型。 根据所选择的连接类型,可为实例参数提供不同的信息。

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

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

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

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

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

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

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

String
密码
(可选)

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

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

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

  • 选中 - 用户名和密码将保存在连接文件中。 这是默认设置。 如果 ArcGIS 服务可通过您所创建的连接文件来对地理数据库进行访问,则必须保存用户名和密码。
  • 未选中 - 用户名和密码将不会保存在该连接文件中。 每次试图使用文件进行连接时,系统都将提示您输入用户名和密码。
Boolean
数据库
(可选)

要建立连接的数据库名称。 此参数仅适用于 PostgreSQLSQL 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

派生输出

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

输出数据库连接文件 (.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})
名称说明数据类型
out_folder_path

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

Folder
out_name

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

String
database_platform

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

  • DAMENG连接到 Dameng
  • DB2连接至 Linux、UNIX 或 Windows 上的 IBM Db2
  • ORACLE连接到 OracleAmazon Relational Database Service (RDS) for OracleAutonomous Transaction Processing database in Oracle Cloud
  • POSTGRESQL连接到 PostgreSQLAmazon Aurora PostgreSQLAmazon Relational Database Service (RDS) for PostgreSQLMicrosoft Azure Database for PostgreSQL
  • SAP HANA连接到 SAP HANASAP HANA Cloud
  • SQL_SERVER连接到 Microsoft SQL ServerMicrosoft Azure SQL DatabaseMicrosoft Azure SQL Managed InstanceAmazon Relational Database Service (RDS) for SQL Server
  • TERADATA连接到 Teradata Data Warehouse Appliance
String
instance

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

所指定的 database_platform 参数值表示要连接的数据库类型。 根据所指定的数据库平台,可为 instance 参数提供不同的信息。

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

  • Dameng - 安装 Dameng 数据库的服务器的名称
  • Db2 - 编入目录的 Db2 数据库的名称
  • Oracle - TNS 名称或用于连接 Oracle 数据库或数据库服务的 Oracle Easy Connection 字符串
  • PostgreSQL - 安装 PostgreSQL 的服务器名称或 PostgreSQL 数据库服务实例的名称
  • SAP HANA - SAP HANA 数据库或数据库服务的开放式数据库连通性 (ODBC) 数据源名称
  • 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用户名和密码不会保存在连接文件中。 每次试图使用文件进行连接时,系统都将提示您输入用户名和密码。
Boolean
database
(可选)

要建立连接的数据库名称。 此参数仅适用于 PostgreSQLSQL 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

派生输出

名称说明数据类型
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")

许可信息

  • Basic: 否
  • Standard: 是
  • Advanced: 是

相关主题