创建数据库连接 (Data Management)
摘要
创建一个可用于连接到数据库或企业级地理数据库、工作组级地理数据库或桌面级地理数据库的连接文件。
用法
- 使用工具对话框时,如果已输入有效连接信息,则工具将连接到数据库,以确定数据库是否包含地理数据库方案。如果存在方案,服务器将会使用 SDE 方案(对于 Oracle 用户,仅限方案地理数据库)自动填充方案参数、使用 TRANSACTIONAL 关键字填充版本类型参数以及使用默认版本名称填充版本名称参数。 
- 如果要防止连接信息被保存在结果窗口中或存储在地理处理历史日志文件中,则需要禁用历史日志,并在保存连接文件时不保存想要隐藏的连接信息。 
- 当所连接的数据库不是地理数据库时,工具对话框地理数据库连接属性部分中的所有参数都将忽略。 
语法
| 参数 | 说明 | 数据类型 | 
| out_folder_path | 存储数据库连接文件(.sde 文件)的文件夹路径。 | Folder | 
| out_name | 数据库连接文件的名称。输出文件的扩展名将为 .sde。 | String | 
| database_platform | 将要连接到的 DBMS 平台。有效选项包括 
 | String | 
| instance | 要连接的数据库服务器或实例。 为 database_platform 参数指定的值表示要连接的数据库类型。根据所指定的数据库平台,可为 instance 参数提供不同的信息。 有关为各个数据库平台提供的内容的详细信息,请参阅下文。 
 | String | 
| account_authentication (可选) | 
 | Boolean | 
| username (可选) | 采用“数据库身份验证”连接时使用的数据库用户名。 | String | 
| password (可选) | 当使用“数据库身份验证”时所需的数据库用户密码。 | Encrypted String | 
| save_user_pass (可选) | 
 | Boolean | 
| database (可选) | 将要连接到的数据库的名称。此参数仅适用于 PostgreSQL 和 SQL Server 平台。 | String | 
| schema (可选) | 要连接到的用户方案地理数据库。此选项仅适用于至少包含一个用户方案地理数据库的 Oracle 数据库。此参数的默认值为使用默认版本。 | String | 
| version_type (可选) | 想要连接到的版本的类型。 
  如果使用 TRANSACTIONAL 或 HISTORICAL,则日期参数将忽略。如果使用 HISTORICAL 并且未在版本名称参数中提供名称,将使用默认的事务版本。如果使用 POINT_IN_TIME 并且未在日期参数中提供日期,将使用默认的事务版本。 | String | 
| version (可选) | 要连接到的地理数据库事务版本或历史标记。默认选项将使用默认版本。 | String | 
| date (可选) | 此值表示连接到数据库的日期和时间。适用于启用存档的数据。 可按以下格式输入日期: 
  注: 
 | Date | 
代码实例
以下 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) 工具。
# 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")
以下 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",
                                          "#")
以下 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")