zoukankan      html  css  js  c++  java
  • ArcEngine连接Oracle数据库

    问题1:

    最近写服务需要用ArcEngine连接Oracle数据库,以前连接数据库都会弹出一个窗体。然后填好之后就可以连接了,这样很麻烦。

    代码如下:

         private  bool ConnectToSde()
            {
                IWorkspace workspace;
                ESRI.ArcGIS.esriSystem.IPropertySet pPropset = new ESRI.ArcGIS.esriSystem.PropertySet();
                IWorkspaceFactory pWorkspaceFact = new SdeWorkspaceFactory();
                pPropset.SetProperty("server", "localhost");
                pPropset.SetProperty("database", "database");
                pPropset.SetProperty("user", "user");
                pPropset.SetProperty("password", "password");
                pPropset.SetProperty("version", "SDE.DEFAULT");
                workspace = pWorkspaceFact.Open(pPropset, 0);
                return true;
            }

    运行到 workspace = pWorkspaceFact.Open(pPropset, 0);的时候就会弹出一个ArcCatalog连接数据库的窗体,如下图所示:

    原因:

    原因是在填写属性的时候没有设置实例(INSTANCE)。

    解决办法:

    正确代码如下:

     private  bool ConnectToSde()
            {
                IWorkspace workspace;
                ESRI.ArcGIS.esriSystem.IPropertySet pPropset = new ESRI.ArcGIS.esriSystem.PropertySet();
                IWorkspaceFactory pWorkspaceFact = new SdeWorkspaceFactory();
                pPropset.SetProperty("server", "localhost");
                pPropset.SetProperty("INSTANCE", "sde:oracle11g:localhost/database");//如果没有设置INSTANCE属性,会有连接窗体弹出
                pPropset.SetProperty("database", "database");
                pPropset.SetProperty("user", "user");
                pPropset.SetProperty("password", "password");
                pPropset.SetProperty("version", "SDE.DEFAULT");
                workspace = pWorkspaceFact.Open(pPropset, 0);
                return true;
            }

    问题2:

    在连接Oracle数据库的时候,如果INSTANCE属性填写错误就会出现如下问题 SDE not  running on server。

    解决办法:

    见问题1解决办法贴出来的代码。

    注意:SQL Server INSTANCE

     pPropset.SetProperty("INSTANCE", "sde:sqlserver:localhost")
  • 相关阅读:
    Linux下登录Oracle命令行时删除键^H解决方法
    Centos7 根目录存储空间扩展方法
    js取单选按钮,复选按钮的值
    根据地址-地名获取对应的经纬度
    根据中文获得首字母大写————适用于生成编号-流水号
    邮箱格式验证demo
    百度编辑器UEditor,地址栏传值长度有限-在webConfig配置
    基于ASP.Net +easyUI框架上传图片,实现图片上传,提交表单
    Js基础知识-入门
    基础面试题——Javascript
  • 原文地址:https://www.cnblogs.com/GIScore/p/5607912.html
Copyright © 2011-2022 走看看