ARCGIS Engine创建连接SDE的.sde文件

       在使用ArcMap中设置数据库连接后,系统会自己生成一个用来连接空间库的.sde文件。一般存在于@”C:\Users\Feng\AppData\Roaming\ESRI\Desktop10.2\ArcCatalog文件夹下。在很多情况下我们会用到这个sde文件去操作SDE库。例如:GP工具输出结果到SDE时。

/// <summary>
/// 创建SDE连接文件
/// </summary>
/// <param name="sdePath">sde文件路径,如:"F:\\GIS测试数据\\localhost.sde"</param>
public static void CreatSDEConnfile(string sdePath)
{
    string sdeFolder = System.IO.Path.GetDirectoryName(sdePath);
    if (!System.IO.Directory.Exists(sdeFolder))
        System.IO.Directory.CreateDirectory(sdeFolder);
    string ip = "127.0.0.1";   //IP
    string slmc = "orcl";   //实例名称
    string yhm = "SDE";   //用户名
    string mm = "sde";   //密码

    IPropertySet propertySet = new PropertySet();
    propertySet.SetProperty("INSTANCE", string.Format("sde:oracle11g:{0}/{1}", ip, slmc));
    propertySet.SetProperty("USER", yhm);
    propertySet.SetProperty("PASSWORD", mm);

    //IWorkspaceFactory pWorkspaceFactory = new SdeWorkspaceFactory(); 推荐使用ProgID
    Type factoryType = Type.GetTypeFromProgID("esriDataSourcesGDB.SdeWorkspaceFactory");
    IWorkspaceFactory pWorkspaceFactory = (IWorkspaceFactory)Activator.CreateInstance(factoryType);

    IWorkspaceName pWorkspaceName=pWorkspaceFactory.Create(sdeFolder, System.IO.Path.GetFileName(sdePath), propertySet, 0);

    System.Runtime.InteropServices.Marshal.FinalReleaseComObject(pWorkspaceFactory);
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值