微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VB代码连接ArcSDE的方法总结

Qustion:

我的后台数据库sqlServer的,在数据库中建立了一个空间数据库名称为sde

在VB中程序如下:

Dim dc As New MapObjects.DataConnection

dc.Server = "sde83:servername" ‘servername是数据服务所在服务器

一个问题——这里的servername是sql服务器名称么,还是其他的?

dc.User ="sa"

dc.Password = "sa"

第二个问题——这里的User是什么?当初我在安装ArcSDE for sql的时候好象没有user的设置啊?只有一个user password的设置?这里是指数据库sql用户么?

dc.Database "sde" ‘esri_sde是数据实例,sde是数据库名称



在安装ArcSDE过程中,设置如下:

Service name: esri_sde

Service port numver: 5151/tcp

SDE user password:*** //我设为sde

Database name:sde

sql Server instance: SABRINA

Server name: SABRINA



我填了好多次,都没有连接成功,然而我的esri_sde服务已经启动了,为什么呢?

希望大虾们帮帮忙~~ Bow

Answer:

真是狂汗!

我看了某个哥们写的小编如下:(*号内)

************************************************************

MO中连接SDE代码如下:

(我搞不懂的是明明是9.0的SDE为什么要用SDE83访问。下面是Delphi中的代码,VB中应该类似,用MOVIEW2修改了下就可以连接SDE了)

dc:=IMoDataConnection(CreateOleObject('MapObjects2.DataConnection'));

dc.Server:='sde83:tangf';//服务器名前需要加SDE加版本号

dc.User:='sa';//用户名,当然只要有读写权限的用户就可以

dc.Password:='123456';//密码

dc.Database:='sde';//数据库,当然也可以是其他数据库

*************************************************************

他犯的基本错误也就不说了,像什么字符串的双引号用成了单引号;最要命的是这句话“9.0的SDE为什么要用SDE83访问”,这句话弄得我一直坚信是用sde83来引擎,因为我装的也是9.0sde版的,可没想到问题就在这,最后我用sde81就通过了,再汗一个!不过也并非一定就是那位大哥错了,肯能他用的是oracle的RDBMS。

另外再说一下:

Server:填写的确实就是sql服务器的名称,要是安装认的话,应该就是你的计算机名,不是服务实例,我这里就是SABRINNA了。

Database:创建的数据库,其实是创建的服务实例名称,比如我创建一个服务实例esri_sde,但空间数据库是sde,这里填写就应该是esri_sde,或者instance=esri_sde,或者instance=esri_sde;database=sde。

User和Password用的并不是sql本身的用户名和密码,而是设置的SDE的。密码就是安装过程中可以设置的SDE user的密码,用户名偶还不知道在哪儿设置,不过认的是sde。

有时候不能太相信现成的东西,怀疑精神的确很重要!

原文地址:https://www.jb51.cc/vb/264292.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐