ArcSDE10.1之后直连数据库

博客园账号注册一年多,以一个编程菜鸟的角色,从诸多博友文章中学到许多,解决了不少麻烦,甚是感谢! 今天也终于鼓起勇气申请了一个属于自己的博客,将自己学习和项目经验与博友分享,希望能对大家有所帮助!-----------互相学习----------

最近一直在忙ArcEngine(基于.net框架)的二次开发问题,期间有用到SDE连接Oracle数据库的问题,用过ArcGIS系列软件的都知道,ESRI公司在ArcGIS10.1以后推出了SDE直连数据库的方式(当然传统的SDE连接数据库的方式依旧可以用,具体怎么操作这一块可以问问度娘,或者看看ArcGIS帮助文档),我们本次项目也是采用直连的方式,在代码中我们依旧采用传统的方式访问SDE数据库,结果,问题就出现了!——SDE not Running on server—— 就是这个问题! 困扰好久,浏览ArcSDE帮助文档,官方的解释是重启SDE服务或者采取直连的方式,这不是等于没说嘛,思前想后,断定一定是连接字符串的问题!在询问师兄未果的情况下,终于在一个论坛上找到了解决方法!具体连接方式有两种,分享给大家。(主要是连接Oracle数据库)

一、第一种方式

Server:服务器名或IP(可以不填)
   INSTANCE: sde:oraclexx:数据库监听名
   Database: 要连接的数据库名(可以不填)
   username: 用户名(最好用SDE用户)
   password: 密码

1 1     IPropertySet pPropset = new PropertySetClass();
2 2     pPropset .SetProperty("Server",null);
3 3     pPropset .SetProperty("INSTANCE","sde:oracle11g:xxxx");
4 4     pPropset .SetProperty("USER","sde");
5 5     pPropset .SetProperty("PASSWORD","sde");
6 6     pPropset .SetProperty ("DATABASE", "sde");
7 7     pPropset .SetProperty("VERSION","SDE.DEFAULT");
8 8     IWorkspaceFactory Fact = new SdeWorkspaceFactoryClass();
9 9     IFeatureWorkspace Workspace = (IFeatureWorkspace)Fact.Open(pPropset ,0); 

一、第二种方式

Server:服务器名或IP(可以不填)
   INSTANCE: sde:oraclexx
   Database: 要连接的数据库名(可以不填)
   username: 用户名(最好用SDE用户)
   password: 密码@数据库监听名

1     IPropertySet pPropset= new PropertySetClass();
2     pPropset.SetProperty("INSTANCE","sde:oracle11g");
3     pPropset.SetProperty("USER","sde");
4     pPropset.SetProperty("PASSWORD","[email protected]");
5     pPropset.SetProperty ("DATABASE", "sde");
6     pPropset.SetProperty("VERSION","SDE.DEFAULT");
7     IWorkspaceFactory Fact = new SdeWorkspaceFactoryClass();
8     IFeatureWorkspace Workspace = (IFeatureWorkspace)Fact.Open(pPropset,0);  

查看代码

我差不多就这样解决的,希望能帮到你们!!!

时间: 2024-10-13 05:33:08

ArcSDE10.1之后直连数据库的相关文章

不使用TNS直连数据库的三种方式

1.在当前目录下新建tnsnames.ora文件 如windows环境下,在C:\Users\Administrator目录下新建tnsnames.ora文件,内容如下:test =(description=(address=(protocol=tcp)(host=192.168.0.1)(port=1521))(connect_data=(server=dedicated)(service_name=orcl)))C:\Users\Administrator>sqlplus sys/[emai

为什么不要在android或者ios上直连mysql或者sqlserver之类的数据库(跳大神)

许多同学 都有直连这些数据库的想法,如果我说了以下二个问题之后你还想直连,那我也没办法 数据库是一个服务端最重要的部分,也是最脆弱的部分,更是最敏感的部分 如果直连会造成如下问题 1.安全问题,你的连接数据库的账号密码 暴露给了客户端,这样很容易被抓到,无论是android的反编译,还是抓包,都很容易得到这个信息,而且如果需要直连,数据库势必要监听0.0.0.0,,这样任何人都可以尝试你的数据库,多么可怕的一件事 2.性能问题,我们知道一个数据库的并发连接很低,mysql的默认配置只有100,直

【mysql】数据库使用的一些规范

一.MySQL存在的问题 优化器对复杂SQL支持不好 对SQL标准支持不好 大规模集群方案不成熟,主要指中间件 ID生成器,全局自增ID 异步逻辑复制,数据安全性问题 Online DDL HA方案不完善 备份和恢复方案还是比较复杂,需要依赖外部组件 展现给用户信息过少,排查问题困难 众多分支,让人难以选择 二.数据库环境介绍 通常来讲,各个互联网公司的数据库分为5个数据库环境: dev : 开发环境, 开发可读写,可修改表结构; 常用的163的数据库表; 开发人员可以修改表结构, 可以随意修改

varchar2_to_blob,应用向数据库更新LOB字段时的超时问题

将字符串转换为BLOB类型数据,写入服务器. 1,首先利用to_clob函数把varchar2字段转成 clob字段. 2  利用c2b上面函数将clob转成blob. 即: c2b(to_clob(varchar2字段))   CREATE OR REPLACE FUNCTION C2B (b IN CLOB default empty_clob()) RETURN BLOB -- typecasts BLOB to CLOB (binary conversion) IS res BLOB;

c# cs方式操作数据库 非使用sql连接字符串直接连接数据库

.net 底层数据库传输程序 分为服务器端与客户端 此程序作用有: 1.解决直连数据库有相当大的安全隐串. 2.大广域网使用时,大数据的查询相当的时候是耗在网速传输,这个解决了大数据量传输的问题.大数据量进行压缩可以 提高速度7~40倍. 3.由于此框架底层使用tcp作为连接,可以发即时消息.实时传文件.可以作为,程序提交表单,时时提醒功能. 4.兼容三层框架.三层框架程序几乎不需要改动就可以直接使用. 服务器端: 服务器端比较简单,几行代码就可以搞定 1. 添加引用 DataUtils.v1.

数据库(分库分表)中间件对比

转自:http://www.cnblogs.com/cangqiongbingchen/p/7094822.html 分区:对业务透明,分区只不过把存放数据的文件分成了许多小块,例如mysql中的一张表对应三个文件.MYD,MYI,frm. 根据一定的规则把数据文件(MYD)和索引文件(MYI)进行了分割,分区后的表呢,还是一张表.分区可以把表分到不同的硬盘上,但不能分配到不同服务器上. 优点:数据不存在多个副本,不必进行数据复制,性能更高. 缺点:分区策略必须经过充分考虑,避免多个分区之间的数

携程数据库安全事件原因分析

关于携程数据库事件网上有各种说法,有传数据库数据和备份数据是被物理删除的,也有说是各个节点的业务代码被删除,也有说是误操作,导致业务不可用. 携程官方29日凌晨给出的解释是:5月29日1:30分,经携程技术排查,确认此次事件是由于员工错误操作导致.由于携程涉及的业务.应用及服务繁多,验证应用与服务之间的功能是否正常运行,花了较长时间.携程官方网站及APP已于28日23:29全面恢复正常.对用户造成的不便,携程再次深表歉意. 尽管众说纷芸,作为国内专业的数据库安全厂商安华金和,对于事件背后的深层原

ArcGIS10.2.2 Desktop直接连接数据库的具体步骤

ArcGIS10.2.2 Desktop直接连接数据库的具体步骤,以sqlserver2008R2和oracle11G数据库为例子,这里数据库的具体安装步骤不说了,不在讨论的范畴之内. 假如数据库软件都安装好以及环境都配好的情况下. 一.sqlserver2008R2数据库的连接示例 (1)创建地理数据库,要用到的创建地理数据库的工具,在Arccatalog中选择工具箱里面的Data Management tools->GeodababsaseAdministration->CreateEnt

Mysql数据库渗透及漏洞利用总结

Simeon Mysql数据库是目前世界上使用最为广泛的数据库之一,很多著名公司和站点都使用Mysql作为其数据库支撑,目前很多架构都以Mysql作为数据库管理系统,例如LAMP.和WAMP等,在针对网站渗透中,很多都是跟Mysql数据库有关,各种Mysql注入,Mysql提权,Mysql数据库root账号webshell获取等的,但没有一个对Mysql数据库渗透较为全面对总结,针对这种情况我们开展了研究,虽然我们团队今年正在出版<网络攻防实战研究--漏洞利用与提权>,但技术的进步有无止境,思