创建数据库连接 (Data Management)

许可等级:BasicStandardAdvanced

摘要

创建一个可用于连接到数据库或企业级地理数据库、工作组级地理数据库或桌面级地理数据库的连接文件。

用法

语法

CreateDatabaseConnection_management (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

将要连接到的 DBMS 平台。有效选项包括

  • SQL_SERVER用于连接到 Microsoft SQL Server
  • ORACLE用于连接到 Oracle
  • DB2用于连接到 Linux、UNIX 或 Windows 上的 IBM DB2
  • DB2ZOS用于连接到 z/OS 上的 IBM DB2
  • INFORMIX用于连接到 IBM Informix
  • NETEZZA用于连接到 IBM Netezza
  • POSTGRESQL用于连接到 PostgreSQL
  • TERADATA用于连接到 Teradata
String
instance

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

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

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

  • DB2 - 编入目录的 DB2 数据库的名称。
  • DB2 for Z/OS - 编入目录的 DB2 数据库的名称。
  • Informix - Informix 数据库的开放式数据库连通性 (ODBC) 数据源名称。
  • Oracle - 连接到 Oracle 数据库的 TNS 名称或 Oracle Easy Connection 字符串。
  • Netezza - Netezza 数据库的 ODBC 数据源名称。
  • PostgreSQL - 安装 PostgreSQL 的服务器的名称。
  • SQL Server - SQL Server 实例的名称。
  • Teradata - Teradata 数据库的 ODBC 数据源名称。
String
account_authentication
(可选)
  • DATABASE_AUTH数据库身份验证。使用内部数据库用户名和密码连接到 DBMS。创建连接无需输入用户名和密码;但是,如果不输入用户名和密码,系统将在连接建立好之后提示您输入用户名和密码。
    注注:

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

  • OPERATING_SYSTEM_AUTH使用操作系统身份验证。不必输入用户名和密码。将用登录操作系统时所使用的用户名和密码建立连接。如果操作系统使用的登录信息不能用作地理数据库的登录信息,连接将失败。另请注意,如果要创建与存储在 Oracle、DB2 或 Informix 中地理数据库的连接,则必须使用与数据库的直连。
Boolean
username
(可选)

采用“数据库身份验证”连接时使用的数据库用户名。

String
password
(可选)

当使用“数据库身份验证”时所需的数据库用户密码。

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

将要连接到的数据库的名称。此参数仅适用于 PostgreSQL 和 SQL Server 平台。

String
schema
(可选)

要连接到的用户方案地理数据库。此选项仅适用于至少包含一个用户方案地理数据库的 Oracle 数据库。此参数的默认值为使用默认版本。

String
version_type
(可选)

想要连接到的版本的类型。

  • TRANSACTIONAL用于连接到事务版本。
  • HISTORICAL用于连接到历史标记。
  • POINT_IN_TIME用于连接到特定时间点。如果使用 POINT_IN_TIME,“版本名称”参数将忽略。

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

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

代码实例

CreateDatabaseConnection 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用创建数据库连接 (CreateDatabaseConnection) 工具。

import arcpy
arcpy.CreateDatabaseConnection_management("Database Connections",
                                          "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("Database Connections",
                                          "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("Database Connections",
                                          "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("Database Connections",
                                          "history.sde",
                                          "POSTGRESQL",
                                          "dbserver",
                                          "DATABASE_AUTH",
                                          "stevie",
                                          "smith",
                                          "SAVE_USERNAME",
                                          "archivedb",
                                          "#",
                                          "POINT_IN_TIME",
                                          "#",
                                          "5/19/2011 8:43:41 AM")

环境

许可信息

ArcGIS for Desktop Basic: 否
ArcGIS for Desktop Standard: 是
ArcGIS for Desktop Advanced: 是
5/10/2014