VB代码连接ArcSDE的方法总结
2008-12-04 18:23
169 查看
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。
有时候不能太相信现成的东西,怀疑精神的确很重要!
我的后台数据库是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。
有时候不能太相信现成的东西,怀疑精神的确很重要!
相关文章推荐
- VB代码连接ArcSDE的方法总结
- Access快速连接SQL Server的方法(VB代码为例)
- VB远程连接sqlserver 服务器端配置,打开1433端口方法及VB代码
- 总结 vb与数据库的连接方法
- 总结 vb与数据库的连接方法
- 末班方法代码实战和总结
- C++代码优化方法总结
- VB通过ADO连接SQL数据的两种方法
- C#连接数据库的几种方法总结
- C++代码优化方法总结
- C#连接Oracle的方法实例总结
- ASP.net 连接数据库三种方法总结
- VB备份ACCESS数据库的方法,代码
- ASP.NET前台代码绑定后台变量方法总结
- php连接mysql的一些方法总结
- VB连接SQL最简单方法
- jquery操作字符串常用方法总结及工作代码
- java中利用JDBC连接MySQL方法总结
- IT第七天 - 类及其属性、方法的理解,断点调试初识,代码优化总结,编程逻辑培养
- 解决远程连接mysql错误1130代码的方法