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

描述

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

使用方法

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

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

语法

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
  • INFORMIX连接至 IBM Informix
  • ORACLE连接至 Oracle
  • POSTGRESQL连接至 PostgreSQL
  • SAP HANA连接至 SAP HANA
  • SQL_SERVER连接至 Microsoft SQL Server、Microsoft Azure SQL 数据库或 Amazon Relational Database Service for SQL Server
  • TERADATA连接至 Teradata Data Warehouse Appliance
String
instance

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

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

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

  • Dameng - 安装 Dameng 数据库的服务器的名称
  • Db2 - 已编目的 DB2 数据库的名称
  • Informix - Informix 数据库的开放式数据库连通性 (ODBC) 数据源名称
  • Oracle - TNS 名称或用于连接 Oracle 数据库的 Oracle Easy Connection 字符串
  • PostgreSQL - 安装 PostgreSQL 的服务器名称或 PostgreSQL 数据库服务实例的名称
  • SAP HANA - SAP HANA 数据库的 ODBC 数据源名称
  • SQL Serve - SQL Server 或 SQL 数据库实例的名称
  • 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
(可选)

将连接的数据库的名称。此参数仅适用于 PostgreSQL 和 SQL 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 文件)。

工作空间

代码示例

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: 是

相关主题