首页 / 浏览问题 / 组件GIS / 问题详情
创建数据集返回null
31EXP 2018年05月15日
使用产品:iobject 6R 操作系统:win7 x64
数据类型:文件型

DatasetVectorInfo l_DatasourceConnectionInfo = new DatasetVectorInfo();
l_DatasourceConnectionInfo.IsFileCache = false;
l_DatasourceConnectionInfo.Name = "GradeGrid";
l_DatasourceConnectionInfo.EncodeType = EncodeType.Int32;
l_DatasourceConnectionInfo.Type = DatasetType.Region;
l_datasetMemory = l_dataSourceMemory.Datasets.Create(l_DatasourceConnectionInfo);

返回的l_datasetMemory为null,这个工作空间有两个数据源,一个是udb文件型的,创建数据集没有任何问题,再就是这个内存数据源,创建数据集一直为null,不知道为什么。

之前用postgresql的时候使用内存数据源也是没有问题。

1个回答

您好,按照您给的代码测试,并未出现您说的问题,代码如下:

                workspace = new Workspace();
                string path = @"C:\Users\Administrator\Desktop\zz.smwu";
                WorkspaceConnectionInfo info = new WorkspaceConnectionInfo(path);
                workspace.Open(info);


                DatasourceConnectionInfo dinfo = new DatasourceConnectionInfo();

                // 设置数据源位置为内存中,类型为UDB
                dinfo.Server = ":memory:";
                dinfo.EngineType = EngineType.UDB;

                Datasource m_datasource = workspace.Datasources.Create(dinfo);

                DatasetVectorInfo l_DatasourceConnectionInfo = new DatasetVectorInfo();
                l_DatasourceConnectionInfo.IsFileCache = false;
                l_DatasourceConnectionInfo.Name = "GradeGrid";
                l_DatasourceConnectionInfo.EncodeType = EncodeType.Int32;
                l_DatasourceConnectionInfo.Type = DatasetType.Region;
                Dataset l_datasetMemory = m_datasource.Datasets.Create(l_DatasourceConnectionInfo);

5,985EXP 2018年05月15日
我发现这个文件型的工作空间保存的时候居然会把内存数据源也保存起来,虽然用桌面版打开工作空间时看不到这个内存数据源,但是用代码打开就会看到。如果使用这个保存下来的内存数据源就会出现我说的情况。
您好,这个问题我已经重现,我将上报缺陷交研发处理,不过因为您用的是6R版本,该版本产品已下线,不再修改缺陷,如需要建议之后使用修改后的9D产品。
好吧.....
缺陷号:OBJN-2197
...