解决arcgis地理数据库无法新建要素的问题

前几天工作的时候出现了这个错误,google  百度 找了很久都没找到解决办法。。最后发现原因是在Oracle中删除了一个地理数据库的用户之后导致的。  

解决方法:打开sde表空间,找到sde.instance这张表,找到之前删除的那个用户记录,并删除。  问题解决。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,需要在C#中添加ArcObjects库的引用。具步骤为: 1. 打开Visual Studio,创建一个新的C# Windows Forms应用程序项目。 2. 在解决方案资源管理器中右键单击“引用”文件夹,选择“添加引用”。 3. 在“添加引用”对话框中,选择“浏览”选项卡,并找到ArcObjects库的安装路径(一般位于ArcGIS安装目录下的“bin”文件夹中)。 4. 选择需要的ArcObjects库,然后单击“确定”按钮。 接下来,可以按照以下步骤编写代码来实现在地理数据库新建要素类: 1. 在窗体上添加一个按钮控件,并给它命名为“btnCreateFeatureClass”。 2. 双击按钮控件,打开代码编辑器,并在其中添加以下代码: ```csharp using ESRI.ArcGIS.Geodatabase; using ESRI.ArcGIS.DataSourcesGDB; private void btnCreateFeatureClass_Click(object sender, EventArgs e) { // 获取工作空间 IWorkspaceFactory workspaceFactory = new FileGDBWorkspaceFactory(); IWorkspace workspace = workspaceFactory.OpenFromFile("D:\\data.gdb", 0); // 创建要素类 IFeatureWorkspace featureWorkspace = (IFeatureWorkspace)workspace; IFields fields = new FieldsClass(); IFieldsEdit fieldsEdit = (IFieldsEdit)fields; IField field = new FieldClass(); IFieldEdit fieldEdit = (IFieldEdit)field; fieldEdit.Name_2 = "OBJECTID"; fieldEdit.Type_2 = esriFieldType.esriFieldTypeOID; fieldsEdit.AddField(field); fieldEdit = new FieldClass(); fieldEdit.Name_2 = "Name"; fieldEdit.Type_2 = esriFieldType.esriFieldTypeString; fieldEdit.Length_2 = 50; fieldsEdit.AddField(field); IFeatureClass featureClass = featureWorkspace.CreateFeatureClass("MyFeatureClass", fields, null, null, esriFeatureType.esriFTSimple, "Shape", ""); } ``` 其中,“D:\\data.gdb”是地理数据库文件的路径,可以根据实际情况进行修改。这段代码的功能是在指定的地理数据库创建一个名为“MyFeatureClass”的要素类,该要素类包含一个名为“OBJECTID”的自动生成的唯一标识符字段和一个名为“Name”的字符串类型字段。 3. 运行程序,单击“btnCreateFeatureClass”按钮,即可在地理数据库创建新的要素类。 需要注意的是,此代码示例只是演示如何在地理数据库创建要素类,实际情况可能需要更复杂的代码来实现特定的要素类结构和字段。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值