AddDataStoreItem

摘要

在 ArcGIS Server 站点注册文件夹或数据库。

语法

AddDataStoreItem (connection_file, datastore_type, connection_name, server_path, {client_path}, {hostname})
参数说明数据类型
connection_file

对于托管服务器,请提供服务器 URL 或使用 MY_HOSTED_SERVICES 关键词。对于独立服务器,请提供表示要利用其注册数据的服务器的 ArcGIS Server 连接文件 (.ags)。

String
datastore_type

要进行注册的数据的类型。

  • DATABASE数据位于某个企业级数据库中。
  • FOLDER数据是基于文件的。
String
connection_name

发布者或管理员在查看服务器属性时将会看到的文件夹或数据库的名称。

String
server_path

服务器标识数据的路径或连接。

如果要注册 DATABASE,则其为数据库连接文件 (.sde) 的路径,或为包含数据库连接参数的字符串。

如果要注册 FOLDER,则其为该文件夹的路径。

String
client_path

发布程序的计算机标识数据的路径或连接(如果不同于服务器所使用的信息)。在某些情况下,发布程序和服务器可能会参考不同的数据库或文件夹。当您提供发布程序路径和服务器路径时,ArcGIS Server 会在发布时(地图文档和其他资源传输到服务器后)自动更正路径。

如果要注册 DATABASE,请提供数据库连接文件 (.sde) 的路径,或包含数据库连接参数的字符串。

如果要注册 FOLDER,请提供该文件夹的路径。

如果要注册 ArcGIS Server 托管数据库,请不要提供路径,而应为此参数提供字符串托管。ArcGIS Server 托管数据库是您指定的企业级地理数据库,如果用户尝试从未注册的数据位置发布要素服务,则可以于发布时将数据复制到此处。

String
hostname

要使用注册文件夹或数据库的发布程序或客户端计算机的名称。如果留空,则将使用正在运行脚本的计算机的名称。

String
返回值
数据类型说明
String

如果操作成功,将返回字符串 Success

代码示例

注册一个由独立服务器和发布程序使用的文件夹

在 ArcGIS Server 上注册本地文件夹 C:\temp。

import arcpy
conn = "GIS Servers/MyConnection.ags"
path = "c:/temp"
arcpy.AddDataStoreItem(conn, "FOLDER", "My local data folder", path, path)
注册一个在服务器和发布程序之间有所不同的文件夹

将共享文件夹 \\MYSERVER\mydata\Washington 注册到服务器,而本地文件夹 C:\mydata\Washington 由发布程序使用。

import arcpy
conn = "c:/connections/MYSERVER.ags"
arcpy.AddDataStoreItem(conn, "FOLDER", "Washington",
                       "//MYSERVER/mydata/Washington",
                       "c:/mydata/Washington", "MYPUBLISHER")
注册一个由服务器和发布程序使用的数据库

注册一个由服务器和发布程序计算机使用的企业级数据库 wilma。在 ArcMap 目录窗口中添加数据库连接时将创建 .sde 连接文件。

import arcpy
server_conn = "c:/connections/MYSERVER.ags"
db_conn = "c:/connections/Connection to wilma.sde"
arcpy.AddDataStoreItem(server_conn, "DATABASE", "Wilma", db_conn, db_conn)
注册一个在服务器和发布程序之间有所不同的数据库

将企业级数据库 wilma 注册到独立服务器,而数据库 pebbles 由发布程序使用。

import arcpy
server_conn = "c:/connections/MYSERVER.ags"
db_conn_serv = "c:/connections/Connection to wilma.sde"
db_conn_pub = "c:/connections/Connection to pebbles.sde"
arcpy.AddDataStoreItem(    server_conn, "DATABASE", "WilmaAndPebbles", db_conn_serv, db_conn_pub)
将数据库注册为 ArcGIS Server 托管数据库

将企业级数据库 wilma 注册为 ArcGIS Hosting Server 托管数据库。如果发布程序试图从未注册的数据位置发布要素服务,则数据将复制到此处。

import arcpy
server_conn = "https://www.MYSERVER.com/server"
db_conn_serv = "c:/connections/Connection to wilma.sde"
arcpy.AddDataStoreItem(    server_conn, "DATABASE", "WilmaManaged", db_conn_serv, "managed")
使用连接字符串注册数据库

使用数据库连接字符串将企业级数据库 serverX 注册到服务器。

import arcpy
server_conn = "c:/connections/MYSERVER.ags"
db_conn_string = u"PASSWORD=pwdX;SERVER=serverX;" + \                 u"INSTANCE=sde:sqlserver:serverX;DBCLIENT=sqlserver;" + \                 u"DB_CONNECTION_PROPERTIES=serverX;" + \                 u"DATABASE=sde;USER=userX;AUTHENTICATION_MODE=DBMS"
                           arcpy.AddDataStoreItem(
    server_conn, "DATABASE", "ServerX", db_conn_string, db_conn_string)

相关主题