CityMaker7 开发常见异常记录

一、数据源连接失败

异常描述:使用CityMaker Server服务进行查询或其他操作时,如featureclas.search(null,true),会抛出如下异常信息:

捕捉到COMException
[FdeException] Code: -2017; Message: to connect datasource failure; NativeCode: 0;
数据源连接建立方式:

public IDataSource FdbDataSource(IConnectionInfo connInfo)
{
       IDataSourceFactory dsFac = new DataSourceFactory();
       return dsFac.OpenDataSource(connInfo);
}

问题解决:

经反复测试和跟踪发现,使用IDataSource获取数据源连接后是不能断开的,除非要结束整个应用程序。在整个应用程序中都不能调用IDataSource.Close()方法断开连接,即使通过IConnectionInfo重新构建连接也是行不通的,仍然会抛出相应异常。

在使用后通过Marshal.RealseComObject方法释放IDataSource对象是不会引发异常的,只要不调用Close就ok了。

if (ds != null)
{
      Marshal.ReleaseComObject(ds);
      ds = null;
}


猜你喜欢

转载自blog.csdn.net/mygisforum/article/details/22947271