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, );
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数据库的更多相关文章
- java连接Oracle数据库
Oracle数据库先创建一个表和添加一些数据 1.先在Oracle数据库中创建一个student表: create table student ( id ) not null primary key, ...
- 记录排查解决Hubble.Net连接Oracle数据库建立镜像库数据丢失的问题
起因 前几天在弄Hubble连接Oracle数据库,然后在mongodb中建立一个镜像数据库; 发现一个问题,原本数据是11W,但是镜像库中只有6w多条; 刚开始以为是没运行好,又rebuild了一下 ...
- NodeJs连接Oracle数据库
nodejs连接oracle数据库,各个平台的官方详情文档:https://github.com/oracle/node-oracledb/blob/master/INSTALL.md 我的nodej ...
- jdbc连接oracle数据库
/*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...
- 用VS连接oracle数据库时ORA-12504错误
在用VS2008连接oracle数据库时,可能会出现: ORA-12504: TNS: 监听程序在 CONNECT_DATA 中未获得 SERVICE_NAME 只需在web.config文件Data ...
- ASP.NET连接Oracle数据库的步骤详解(转)
ASP.NET连接Oracle数据库的步骤详解 本文我们主要介绍了ASP.NET连接Oracle数据库的步骤及每个步骤需要进行的设置,希望能够对您有所帮助. 在用ASP.NET开发应用程序时, ...
- 64 位win 7或windows 8下的visual studio不能连接Oracle数据库调试网站的问题
在64 位win 7或windows 8系统下,visual studio直接F5运行网站调试,你会发现不能连接Oracle数据库,会报一个“ORA-06413: Connection not ope ...
- [原创]安装Oracle 11gR2,以及如何在win8下使用plsql develper连接Oracle数据库 ,在这里和大家分享下
一,关于win8下安装Oracle 11gR2 1.我下载的是Oracle_11gR2_win64.其中有两个包: 注意:在解压了之后将:win64_11gR2_database_2of2\datab ...
- 用Navicat连接Oracle数据库时报错ORA-28547:connection to server failed,probable Oracle Net admin error
用Navicat连接Oracle数据库时出现如下错误 上网一查原来是oci.dll版本不对.因为Navicat是通过Oracle客户端连接Oracle服务器的,Oracle的客户端分为两种,一种是标准 ...
随机推荐
- 程序中打开IE浏览器并访问指定地址
最简单的方法 Process.Start("iexplore.exe"); //直接打开IE浏览器(打开默认首页) Process.Start(" ...
- python编程之进程
进程:运行中的程序 进程和操作系统的关系:进程是操作系统调度和资源分配的最小单位,是操作系统的结构基础. 那么为什么要有进程呢? 程序在运行时,会使用各种硬件资源,如果他们之间没有界限,那么程序之间的 ...
- 解决vscode电脑卡顿问题
在安装了vscode之后,发现电脑很卡,cpu使用率高达100%. 解决方法1: 打开vscode之后,点击文件==>首选项==>设置搜索设置search.followSymlinks然后 ...
- thinkPHP框架中执行原生SQL语句的方法
这篇文章主要介绍了thinkPHP框架中执行原生SQL语句的方法,结合实例形式分析了thinkPHP中执行原生SQL语句的相关操作技巧,并简单分析了query与execute方法的使用区别,需要的朋友 ...
- Roslyn NameSyntax 的 ToString 和 ToFullString 的区别
本文告诉大家经常使用的 NameSyntax 拿到值的 ToString 和 ToFullString 方法的区别 从代码可以看到 NameSyntax 的 ToString 和 ToFullStri ...
- http请求头包括了哪些常见内容
Host: www.study.com // 请求的地址域名和端口,不包括协议 Connection: keep-alive // 连接类型,持续连接 Upgrad ...
- C# json 转 xml 字符串
本文告诉大家如何将 json 转 xml 或将 xml 转 json 字符串 首先需要安装 Newtonsoft.Json 库,打开 VisualStudio 2019 新建一个 dotnet cor ...
- java Eclipse的使用技巧
eclipse与myeclipse的关系(都属于java开发的工具): 后者是前者的一个插件,后来为了方便使用,myeclipse集合了eclipse,后者是收费的. 可大部分人都是用 eclipse ...
- 从http到https--phpStudy2018
0. 将SSL证书解压到以下目录,申请方式见 百度 Apache/cert/ 分别更名为 my_public.crt my.key my_chain.crt 1. phpStudy->其它选项菜 ...
- PowerShell 拿到显卡信息
本文告诉大家如何在 PowerShell 通过 WMI 拿到显卡信息 在 PowerShell 可以使用下面代码拿到显卡的信息 Get-WmiObject Win32_VideoController ...