方法2 :
Public Function ExportSDEVLayer1(ByVal iVLayerName As String, ByVal iExportName As String) As Boolean
Dim iExportLayerName As String
Dim iExportLayerPath As String
Dim iSDEName As ESRI.ArcGIS.esriSystem.IName
Dim iSDEFields As ESRI.ArcGIS.Geodatabase.IFields
Dim iSDEFeatureClass As ESRI.ArcGIS.Geodatabase.IFeatureClass
Dim iSDEDatasetName As ESRI.ArcGIS.Geodatabase.IDatasetName
Dim iSDEFeatureClassName As ESRI.ArcGIS.Geodatabase.IFeatureClassName
Dim iSDEFeatureDatasetName As ESRI.ArcGIS.Geodatabase.IFeatureClassName
Dim iSDEWorkspaceName As ESRI.ArcGIS.Geodatabase.IWorkspaceName
Dim iSHPFields As ESRI.ArcGIS.Geodatabase.IFields
Dim iSHPDatasetName1 As ESRI.ArcGIS.Geodatabase.IDatasetName
Dim iSHPDatasetName2 As ESRI.ArcGIS.Geodatabase.IDatasetName
Dim iSHPFeatureClassName As ESRI.ArcGIS.Geodatabase.IFeatureClassName
Dim iSHPFeatureDatasetName As ESRI.ArcGIS.Geodatabase.IFeatureDatasetName
Dim iSHPWorkspaceName As ESRI.ArcGIS.Geodatabase.IWorkspaceName
Dim iIndex As Integer
Dim iGeoField As ESRI.ArcGIS.Geodatabase.IField
Dim iGeometryDef As ESRI.ArcGIS.Geodatabase.IGeometryDef
Dim iGeometryDefEdit As ESRI.ArcGIS.Geodatabase.IGeometryDefEdit
Dim iFieldChecker As ESRI.ArcGIS.Geodatabase.IFieldChecker
Dim iFeatureDataConverter As ESRI.ArcGIS.Geodatabase.IFeatureDataConverter
iExportLayerName = GetFileName(iExportName)
iExportLayerPath = GetFilePath(iExportName)
iSDEWorkspaceName = New ESRI.ArcGIS.Geodatabase.WorkspaceName
iSDEWorkspaceName.ConnectionProperties = SDE_PropertySet
iSDEWorkspaceName.WorkspaceFactoryProgID = "esriDataSourcesGDB.SdeWorkspaceFactory.1"
iSDEFeatureClassName = New ESRI.ArcGIS.Geodatabase.FeatureClassName
iSDEDatasetName = iSDEFeatureClassName
iSDEDatasetName.Name = iVLayerName
iSDEDatasetName.WorkspaceName = iSDEWorkspaceName
iSHPWorkspaceName = New ESRI.ArcGIS.Geodatabase.WorkspaceName
iSHPWorkspaceName.PathName = "d:\终极文件夹\"
iSHPWorkspaceName.WorkspaceFactoryProgID = "esriDataSourcesFile.ShapefileWorkspaceFactory.1"
iSHPFeatureDatasetName = New ESRI.ArcGIS.Geodatabase.FeatureDatasetName
iSHPDatasetName1 = iSHPFeatureDatasetName
iSHPDatasetName1.Name = iExportLayerName
iSHPDatasetName1.WorkspaceName = iSHPWorkspaceName
iSHPFeatureClassName = New ESRI.ArcGIS.Geodatabase.FeatureClassName
iSHPDatasetName2 = iSHPFeatureClassName
iSHPDatasetName2.Name = iSDEDatasetName.Name
'iSHPDatasetName2.WorkspaceName = iSHPWorkspaceName
'检测字段
iSDEName = iSDEFeatureClassName
iSDEFeatureClass = iSDEName.Open
iSDEFields = iSDEFeatureClass.Fields
iFieldChecker = New ESRI.ArcGIS.Geodatabase.FieldChecker
iFieldChecker.Validate(iSDEFields, Nothing, iSHPFields)
For iIndex = 0 To iSHPFields.FieldCount
If iSHPFields.Field(iIndex).Type = ESRI.ArcGIS.Geodatabase.esriFieldType.esriFieldTypeGeometry Then
iGeoField = iSHPFields.Field(iIndex)
Exit For
End If
Next
iGeometryDef = iGeoField.GeometryDef
iGeometryDefEdit = iGeometryDef
'iGeometryDefEdit.GridCount2 = 1
'iGeometryDefEdit.GridSize2(0) = 1500000
Dim iobject As Object
iFeatureDataConverter = New ESRI.ArcGIS.Geodatabase.FeatureDataConverter
iobject = iFeatureDataConverter.ConvertFeatureClass(iSDEFeatureClassName, Nothing, iSHPFeatureDatasetName, iSHPFeatureClassName, Nothing, iSHPFields, "", 1000, 0)
MsgBox("ok")
End Function
iFeatureDataConverter.ConvertFeatureClass时候报不能创建
帮我修改代码,我不知道用数据类型、转换的方法是不是能解决我的问题