问题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, );
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, );
return true;
}

问题2:

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

解决办法:

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

注意:SQL Server INSTANCE为:

 pPropset.SetProperty("INSTANCE", "sde:sqlserver:localhost")

ArcEngine连接Oracle数据库的更多相关文章

  1. java连接Oracle数据库

    Oracle数据库先创建一个表和添加一些数据 1.先在Oracle数据库中创建一个student表: create table student ( id ) not null primary key, ...

  2. 记录排查解决Hubble.Net连接Oracle数据库建立镜像库数据丢失的问题

    起因 前几天在弄Hubble连接Oracle数据库,然后在mongodb中建立一个镜像数据库; 发现一个问题,原本数据是11W,但是镜像库中只有6w多条; 刚开始以为是没运行好,又rebuild了一下 ...

  3. NodeJs连接Oracle数据库

    nodejs连接oracle数据库,各个平台的官方详情文档:https://github.com/oracle/node-oracledb/blob/master/INSTALL.md 我的nodej ...

  4. jdbc连接oracle数据库

    /*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...

  5. 用VS连接oracle数据库时ORA-12504错误

    在用VS2008连接oracle数据库时,可能会出现: ORA-12504: TNS: 监听程序在 CONNECT_DATA 中未获得 SERVICE_NAME 只需在web.config文件Data ...

  6. ASP.NET连接Oracle数据库的步骤详解(转)

    ASP.NET连接Oracle数据库的步骤详解   本文我们主要介绍了ASP.NET连接Oracle数据库的步骤及每个步骤需要进行的设置,希望能够对您有所帮助.   在用ASP.NET开发应用程序时, ...

  7. 64 位win 7或windows 8下的visual studio不能连接Oracle数据库调试网站的问题

    在64 位win 7或windows 8系统下,visual studio直接F5运行网站调试,你会发现不能连接Oracle数据库,会报一个“ORA-06413: Connection not ope ...

  8. [原创]安装Oracle 11gR2,以及如何在win8下使用plsql develper连接Oracle数据库 ,在这里和大家分享下

    一,关于win8下安装Oracle 11gR2 1.我下载的是Oracle_11gR2_win64.其中有两个包: 注意:在解压了之后将:win64_11gR2_database_2of2\datab ...

  9. 用Navicat连接Oracle数据库时报错ORA-28547:connection to server failed,probable Oracle Net admin error

    用Navicat连接Oracle数据库时出现如下错误 上网一查原来是oci.dll版本不对.因为Navicat是通过Oracle客户端连接Oracle服务器的,Oracle的客户端分为两种,一种是标准 ...

随机推荐

  1. hdu 1708 Fibonacci String

    Fibonacci String Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...

  2. 2018-8-10-win10-uwp-获得元素绝对坐标

    title author date CreateTime categories win10 uwp 获得元素绝对坐标 lindexi 2018-08-10 19:16:51 +0800 2018-2- ...

  3. 央行下属的上海资信网络金融征信系统(NFCS)签约机构数量突破800家

    央行下属的上海资信网络金融征信系统(NFCS)签约机构数量突破800家 ——已接入NFCS的P2P网贷机构将优先 接入央行征信系统   P2P网贷行业的健康发展依赖于信用体系的支撑和保障,加快完善适应 ...

  4. C# 判断系统版本

    本文告诉大家如何判断系统是 win7 还是 xp 系统 使用下面代码可以判断 private static readonly Version _osVersion = Environment.OSVe ...

  5. es6笔记 day2---字符串模板及字符串新增

    字符串连接案例 注意:引号变了,为键盘数字1旁边的飘花键 以前的老写法是在字符串中加入“+”号,给几个字符串给串起来,那种写法是要死人的. 现在只需加上一对``即可将字符串连接起来 --------- ...

  6. vue-learning:29 - component - 组件三大API之三:slot

    组件三大API之三: slot <slot>标签 v-slot指令 普通插槽 有默认值的插槽 具名插槽 作用域插槽 v-slot是Vue 2.6.0引入的一个新语法指令,目的是统一之前sl ...

  7. [数论] hdu 5974 A Simple Math Problem (数论gcd)

    传送门 •题意 一直整数$a,b$,有 $\left\{\begin{matrix}x+y=a\\ LCM(x*y)=b \end{matrix}\right.$ 求$x,y$ •思路 解题重点:若$ ...

  8. Weblogic/WAS之Full GC监控与计算

    在网上看到关于内存回收机制,同大家一起分析探讨.堆内存划分为Eden.Survivor 和 Tenured/Old 空间,如下图所示: Minor GC 会清理年轻代的内存,Major GC 是清理老 ...

  9. layui图片上传之后后台如何修改图片的后缀名以及返回数据给前台

    const pathLib = require('path');//引入node.js下的一个path模块的方法,主要处理文件的名字等工作,具体可看文档 const fs = require(''fs ...

  10. 024.讲MFC_窗口指针

    窗口指针通过HWND获得CWnd指针 //如何通过窗口句柄获得窗口指针获得应用程序主窗口的指针 //如何获得应用程序主窗口的指针一.建立名为dialogPoint的mfc工程,添加两个button 双 ...