Arcpy无法访问SDE(Copy_management)

时间:2016-01-26 10:54:59

标签: python arcgis arcpy

我想使用ArcPy(Python)将数据集从文件地理数据库复制到SDE。但不知怎的,我无法正常访问我的SDE。我得到的错误如下:

  

arcgisscripting.ExecuteError:ERROR 000110:C:\ Users \ me \ AppData \ Roaming \ ESRI \ Desktop10.2 \ ArcCatalog \ Verbindung mit sde.sde不存在。无法执行复制

import arcpy

CopyGDB = "C:\\Temp\\TempDB.gdb"
PasteSDE = "C:\\Users\\me\\AppData\\Roaming\\ESRI\\Desktop10.2\\ArcCatalog\\Verbindung mit sde.sde"

arcpy.env.workspace = CopyGDB
CopyGDBdatasets = arcpy.ListDatasets()

for fd in CopyGDBdatasets:
       arcpy.Copy_management(fd, PasteSDE + "\\" + fd, "feature dataset")

我使用的是32位版本的Python(版本2.7.5)和32位版本的ArcGIS(版本10.2)。

我检查了SDE连接文件,路径是否正确。在ArcCatalog中,我可以正确访问我的SDE。

Database Properties

1 个答案:

答案 0 :(得分:0)

我认为问题在于SDE数据集名称以架构所有者名称为前缀,并以"分隔。" 。文件地理数据库不支持此约定

  • 你需要解析fd以使用类似fd.split("。")
  • 之类的内容删除它

我更喜欢在路径上使用原始刺痛装饰器,以便我可以直接从Windows地址栏或ArcGIS中复制它

  • 而不是" C:\\ Temp \\ TempDB.gdb"使用 r " C:\ Temp \ TempDB.gdb"
  • 还使用os.path.join进行最佳练习

删除可选的数据类型参数,您使用的关键字是错误的

  • 关键字为" FeatureDataset" 符合doc

尝试:

import os
...
outFd = fd.split(".")[1]
arcpy.Copy_management(fd, os.path.join(PasteSDE, outFd))