摘要
在 ArcGIS Server 站点注册文件夹或数据库。
语法
AddDataStoreItem (connection_file, datastore_type, connection_name, server_path, {client_path}, {hostname})
参数 | 说明 | 数据类型 |
connection_file | 表示要利用其注册数据的服务器的 ArcGIS Server 连接文件 (.ags)。如果已经在 ArcCatalog 中创建过连接,则可以使用在用户配置文件目录中找到的连接文件。或者,可以使用 CreateGISServerConnectionFile 函数重新创建连接文件。 | String |
datastore_type | 要进行注册的数据的类型。
| 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。假设已在 ArcMap 的目录窗口中创建了与服务器的连接,并重命名为 MyConnection。
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 Server 的托管数据库。如果发布程序试图从未注册的数据位置发布要素服务,则数据将复制到此处。
import arcpy
server_conn = "c:/connections/MYSERVER.ags"
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)