多用户的实施过程中。 有时会出现图形库莫名的连接不上, 如果用ARCMAP或ARCCATALOG连接的时候还会提示错误信息 “Failed to connect to database. Maximum number of conections to instance exceeded”。 错误提示非常清晰, 可是怎么解决呢? 很多时候的解决办法都是重启SDE服务或删除SDE服务所在机器上的GSRVR.EXE进程。 这虽然可以解决当前的问题, 但过一段时间后又会出现同样的状况, 不胜其扰。
SDE本身默认设置的最大连接数为48个。一般来说不可能同时有这么多用户一起连接图形数据库。 并且我们的系统以及ARCMAP或ARCCATALOG等桌面软件在退出的时候也会删除与数据库的连接。 但为什么还会出现超出最大连接数的问题呢?在经过多次的尝试之后发现:当系统异常退出,或连接上图形数据库时强行拔除网线等非常规操作时。SDE服务器上的连接进程以及数据库中记录的SDE的用户连接数等记录无法删除。导致无效的连接越来越多, 最终达到了他的极限, 出现错误在所难免。
我们可以通过敲入如下命令查看当前SDE的一些基本设置参数:sdemon –o info –I config。 也可以通过命令查看当前用户连接数:sdemon –o info –I users, (在sdemon命令后加上 ?就可以查看该命令的所有参数信息)。 在为用户设置最大连接数的时候, 需要预估一下在同一时间最多可能会有多少个连接进程。 在SDE中开启的进程数和连接用户数是随着实例计算的, 如一台机器打开N个ARCMAP并连上数据库后, 就有N个连接进程和N个连接用户的记录。
如果确认好最大连接数后就可以进行设置了。方法一:用PLSQL或TOAD打开SDE用户下的表SEVER_CONFIG,编辑字段CONNECTIONS值为你的最大连接数。设置字段TCPKEEPALIVE值为TRUE。方法二:打开SDE的安装目录下的(一般安装路径为C:\arcgis\ArcSDE\sqlexe\etc)giomgr.defs文件进行编辑,设置CONNECTIONS参数为你的最大连接数。然后设置TCPKEEPALIVE参数为TRUE。 通过命令导入到数据库中:sdeconfig –o import –f C:\arcgis\ArcSDE\sqlexe\etc\giomgr.defs –i esri_sde(数据库实例名) –s (ServerName) –u sde(用户名) –p sde(密码) 。 设置好后需要重启SDE服务才能生效。
TCPKEEPALIVE参数是做什么用的呢?能够删除无效连接的最大功臣就是他了。当TCPKEEPALIVE参数设置为TRUE后,数据库会根据SDE服务所在机器的注册表项KEEPALIVETIME所提供的响应时间, 不断侦测所有连接是否为无效连接,如果为无效连接,则自动删除该连接。 对默认安装操作系统的机器而言KEEPALIVETIME注册表项是没有的。 如果没有话,服务器不会主动发送 KeepAlive 数据包来确认空闲连接是否依然毫无变化。也就不会进行删除操作。 所以上面提到的无效连接会越来越多。可以在如下路径中:Local_Machine\system\CurrentControlSet\Services\Tcpip\Parameters 添加DWORD项:KeepAliveTime。 如果不设置值的话默认为两小时。具体时间可以看情况而定。一般推荐为5分钟。然后重启机器(一定要重启,注册表的新加项才生效)。世界从此清静了, 以后超出最大连接数的错误再也不会烦扰你的头皮。
分享到:
相关推荐
我们大体都知道ArcSDE的连接数有 48 的限制,很多人也知道这个参数可以修改,并且每种操作系统能支持的最大连接数是不同的。如果应用报错:超出系统最大连接数 该如何处理?
本文档用于解决Arc SDE用户数超限的问题
如何自动关闭空闲的sde连接,让其他人来连接; 如何自动关闭空闲的sde连接,让其他人来连接
教你如何利用Catalog远程连接sde数据库,希望对大家有帮助。
ArcGIS连接SDE 在数据库连接处添加数据库连接之前必须安装oracle client客户端库
ArcSDE连接数设置及其性能说明,关于ArcSDE连接数,操作系统,数据库等
数据库、ArcCatalog空间数据源正常访问,数据库设置没问题时,ArcEngine连接SDE时报"ORA-12560: TNS: 协议适配器错误"的解决办法;ArcEngine连接SDE总结;ArcSDE:C#打开SDE数据库的几种方式总结
sdeconfig -o alter -v TCPKEEPALIVE=TRUE -u sde -p sde -i 5151
AO编程和ArcSDE连接SQLserver数据库的最好入门教程!对与搞Gis的绝对有帮助!
6个dll的打包 Arcgis连接 postgresql sde 时遇到的问题以及解决办法 Arcgis连接 postgresql sde 时遇到的问题以及解决办法
SDE数据库连接参照.pdf
ArcEngine+C#连接SDE空间数据库
这是一个连接SDE的数据库的源代码,如果,你要看的话,就下载吧
实现了类型ArcCatalog的部分功能 包括sde连接树状列表、新建要素数据集、新建要素类 上传shp文件等
SDE数据库连接,是ArcEngine开发的
二、 创建SDE数据库连接 三、 正在创建 四、 创建完成 五、 ArcMap连接数据库 六、 创建特征类(建立空间表) 七、 编辑图层 八、 添加服务 九、 注册SDE数据库和文件夹 十、 发布图层.mxd 十一、 地图发布成功 十二...
sde手册sde手册sde手册sde手册sde手册sde手册
将一个本地SHP文件和一个SDE上的表进行匹配比较,然后生成一个新的SDE要素类。其中涉级到使用AO连接ORACLE数据库的问题和如何从数据库中取出一个表的操作
总结在ArcEngine二次开发中连接sde数据库的各种方式。