首页 / 浏览问题 / 桌面GIS / 问题详情
i9D 工作空间打开一段时间后数据集查询卡住,无法捕获异常
4EXP 2021年12月11日

使用产品:iDesketop .net 9D  操作系统:win10 x64
数据类型: PostgreqSql类型超图数据库
问题详细描述:代码实例化一个全局工作空间对象workspace,进行相关数据集查询操作,查询操作主要如下:
 

DatasetVector dataset =(DatasetVector)workspace.Datasources["数据集源名xxxx"].Datasets["数据集名xxxx"] 
//代码运行十几个小时后下面使用dataset对象就卡住,也无法捕获异常;
//还有奇怪现象是同一数据源下不同的数据集(均为属性表),有的正常有的就不正常,非常困惑
//如何判断是否正常连接?进行重连数据集呢?
if(dataset!=null) 

{

   QueryPatameter parameter =new QueryPatameter();

    //设置parameter 查询相关属性

   parameter.Cursortype =Cursortype.static;

   //...设置sql 略

   Recordset. recordset = dataset.Query(parameter);
   parameter.Dispose();
   //do sth
   recordset?.Close();
   recordset?.Dispose();
}       

 过了一段时间后再查询,在获取数据集是就出现卡住现象

1个回答

您好,建议您从两个方向来排查问题。

数据库连接的稳定性和内存释放溢出,

1.使用同样的数据库新建一个数据源是否发生该现象

2.在该现象发生的时候,数据库连接是否通畅,连接是否正常

3.使用其他类型数据源(比如文件型)是否发生该现象

4.您的项目总体上是否内存占用是只增不减的,在项目内不论普通参数控件,超图参数控件是否都有按照winfrom开发去安创建绑定逻辑释放

5.该现象发生时,计算机各项资源是否正常

希望可以帮助到您!
10,538EXP 2021年12月13日
...