`
zjw101018
  • 浏览: 15171 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

SDE 最大连接数 及 释放无效连接

阅读更多
多用户的实施过程中。 有时会出现图形库莫名的连接不上, 如果用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分钟。然后重启机器(一定要重启,注册表的新加项才生效)。世界从此清静了, 以后超出最大连接数的错误再也不会烦扰你的头皮。
分享到:
评论

相关推荐

    Arc SDE连接数超限处理方式

    "Arc SDE连接数超限处理方式" 在 ArcGIS 中,SDE(Spatial Database Engine)是用于管理和存储空间数据的核心组件。然而,在实际应用中,SDE 连接数超限的问题经常会出现,这将导致系统性能下降,甚至崩溃。因此,...

    sde连接数的问题

    - **编辑giomgr.defs文件**:在SDE安装目录下的`giomgr.defs`文件中,修改`CONNECTIONS`参数以指定最大连接数,并将`TCPKEEPALIVE`参数设置为`TRUE`。之后,使用`sdeconfig`命令将配置导入到数据库中。 #### 五、...

    SDE.rar_ArcEngine sde_SDE_arcengine _连接SDE

    总之,"SDE.rar_ArcEngine sde_SDE_arcengine _连接SDE"这个主题涉及到的是使用ArcEngine与SDE数据库进行交互的关键技术,涵盖了数据库连接、数据访问、并发控制等多个方面。掌握这些知识对于开发GIS应用来说至关...

    如何自动关闭空闲的sde连接

    ### 如何自动关闭空闲的SDE连接 在地理信息系统(GIS)领域中,空间数据库引擎(SDE)被广泛用于存储和管理大量的空间数据。SDE连接是用户与SDE数据库之间的通信桥梁,但长期空闲的SDE连接会占用系统资源,如CPU和...

    ArcSDE连接数设置及其性能说明

    在Windows操作系统上,默认的最大连接数为48个,在非Windows操作系统上为64个。这个值可以通过`sdeconfig`命令进行查询和修改。 3. **数据库层面**:数据库服务器也存在连接数的限制。不同的数据库类型(如Oracle...

    ArcEngine+C#连接SDE空间数据库

    本文将深入探讨如何利用ArcEngine结合C#来连接并操作SDE(Spatial Database Engine)空间数据库。 首先,我们需要理解SDE的含义。SDE是Esri公司开发的一种用于存储、管理和分发地理空间数据的系统,它支持多种...

    ArcGis中SDE连接数据库

    4. **打开工作空间**:获取连接后,你可以使用`WorkspaceFactory.OpenFromFile`或`WorkspaceFactory.OpenFromConnectionFile`方法打开一个工作空间,这通常是你的SDE连接文件(.sde)。 5. **操作数据**:现在你...

    arccatalog远程连接sde

    教你如何利用Catalog远程连接sde数据库,希望对大家有帮助。

    ArcEngine连接SDE总结.docx

    本文将详细讨论如何解决在ArcEngine连接SDE时遇到的"ORA-12560: TNS:协议适配器错误"的问题,以及总结通过C#打开SDE数据库的不同方法。 首先,当出现"ORA-12560: TNS:协议适配器错误",通常意味着网络通信或Oracle...

    ArcGIS连接SDE 在数据库连接处添加数据库连接之前必须安装oracle client客户端库

    ### ArcGIS连接SDE与Oracle客户端的安装及配置 #### 一、背景介绍 在使用ArcGIS进行空间数据管理时,经常会遇到需要连接到Oracle数据库的情况。为了实现ArcGIS与Oracle Spatial and Graph (SDE)数据库的有效连接,...

    基于Arcgis Engine10.1实现的SDE数据库连接等功能

    本项目基于ArcGIS Engine 10.1,实现了对SDE(Spatial Database Engine)数据库的连接以及一些核心功能,旨在提供类似ArcCatalog的操作体验。ArcCatalog是Esri公司出品的用于管理地理空间数据的桌面应用,而通过...

    SDE数据库连接参照.pdf

    SDE数据库连接参照 SDE(Spatial Database Engine)是一种空间数据库引擎,由ESRI开发,能够管理空间数据和属性数据。与其他数据库管理系统不同,SDE支持多用户同时编辑,具有版本控制功能。因此,在编辑SDE数据时...

    Arcgis10.3创建SDE数据库、导入、导出手册

    在ArcGIS中,通过“数据库连接”功能,输入之前设定的数据库平台、实例、管理员信息,以及SDE和地理数据库管理员的凭证,建立与SDE数据库的连接。 三、创建特征类(建立空间表) 在ArcMap中,通过右键新建Feature ...

    连接SDE数据库

    这是一个连接SDE的数据库的源代码,如果,你要看的话,就下载吧

    Arcgis连接 postgresql sde 时遇到的问题以及解决办法

    ArcGIS通过SDE接口与PostgreSQL数据库建立连接,以便存储、查询和处理地理空间信息。 当尝试在ArcGIS中连接到PostgreSQL SDE时,可能遇到以下问题: 1. **驱动兼容性**:ArcGIS可能缺少与PostgreSQL版本兼容的驱动...

    vb连接sde数据库方法

    在VB中连接SDE数据库,主要是通过ArcObjects(AO)组件来实现的,这是一个由Esri提供的GIS开发接口,用于访问和操作地理数据。在这个过程中,我们首先要理解AO的工作原理和数据模型,以及如何配置连接参数来访问...

    ArcGIS10.2 SDE连接postgresql

    arcgis SDE数据源直连

    SDE(Spatial Database Engine)则是ArcGIS中用于连接和管理大型数据库(如Oracle、SQL Server等)的空间数据引擎,它提供了高效、安全的地理数据存储和访问机制。本篇将深入探讨ArcGIS SDE数据源直连的技术细节。 ...

    AE-SDE.rar_C#AE连接sde_SDE_ae

    标题"AE-SDE.rar_C#AE连接sde_SDE_ae"和描述中的"AE连接SDE读取数据"正是指的这一主题。 首先,SDE(Spatial Database Engine)是Esri公司开发的一种用于存储和管理地理空间数据的组件,它可以与多种数据库系统如...

    C#+ArcEngine连接ArcSDE数据库参数设置

    例如,在本例中使用的“sde.default”表示连接到默认版本的数据。 ### 三、C#代码实现连接ArcSDE数据库 接下来,我们来看一下如何在C#中编写代码来实现上述连接参数的设置。 #### 3.1 引入必要的命名空间 首先,...

Global site tag (gtag.js) - Google Analytics