sde自动备份到文件gdb(按sde数据库备份的模板)

0
分享 2019-09-17
sde自动备份到文件gdb首先看之前的文章(http://zhihu.esrichina.com.cn/article/3965),这里再补充一个按sde数据库备份的模板

模板开始————————————————————————————

# coding:utf-8
# Import arcpy module
import arcpy
import datetime

# 备份本地文件gdb的文件夹路径
bak_gdb_path = "D:\\test1"
# 备份本地文件gdb的文件名(不要带.gdb)
bak_gdb_name = "bak_xxx"

# 获取当天日期并按指定格式输出(本例每天备份所有精确到天,有需要按其他格式输出当前时间可以自行搜索py的日期时间输出方式)
today = datetime.date.today()
formatted_today = today.strftime('%Y%m%d')

# 最终的gdb文件名
bak_gdb_name_final = bak_gdb_name + "_" + formatted_today

# Process: 创建文件地理数据库
arcpy.CreateFileGDB_management(bak_gdb_path, bak_gdb_name_final, "CURRENT")

# sde连接配置文件地址
arcpy.env.workspace = r"数据库连接\Connection to localhost-dp_tem.sde"

# 获取所有数据集,feature_type='feature'是过滤只要要素的
list_ds = arcpy.ListDatasets(feature_type='feature')
list_ds = [''] + list_ds if list_ds is not None else []

for ds in list_ds:
    # 获取数据集里面的要素类
    # 在数据库下面的要素类也在这里获取
    for fc in arcpy.ListFeatureClasses(feature_dataset=ds):
        # 复制要素类
        # 参数1:复制源要素类
        # 参数2:复制到gdb的路径,一般不用改
        arcpy.FeatureClassToGeodatabase_conversion(
            fc,
            bak_gdb_path + "\\" + bak_gdb_name_final + ".gdb")

模板结束————————————————————————————

在任意目录,新建一个py文件(本例文件名是test21.py),把模板内容复制进去,然后开始按实际修改,以下说明要改的

输出的本地文件位置
 
1.png


一般不用改
 
2.png


备份的sde数据库的配置文件
 
3.png

sde配置文件要首先在catalog建好文件,然后下面红框两段文字,中间再加上斜杆合起来就是使用的路径
PS:红框1的“数据库连接”是arcmap语言设置成中文是这样,如果设成英文就会变了!!!!!!!!!!!!!!!!!!!
4.png

 

0 个评论

要回复文章请先登录注册