首页 / 浏览问题 / 组件GIS / 问题详情
工作空间保存时怎么没有数据源
1EXP 2018年02月11日

6R 2012、win7 64、文件型

 WorkspaceConnectionInfo wcInfo = new WorkspaceConnectionInfo ();
            wcInfo.Server = "c:\\tt.smwu";
            wcInfo.Type = WorkspaceType.SMWu;
           
            if (workspace1.SaveAs(wcInfo))  保存的tt.smwu中数据源下没有图层?为什么
            {
                Console.WriteLine("另存工作空间成功!");
            }

1个回答

您好,首先要现在工作空间中打开数据源Workspace.datasource.open,然后再保存工作空间,这样才会有数据源
5,985EXP 2018年02月11日
不行!不行!不行!

  DatasourceConnectionInfo info = new DatasourceConnectionInfo();
            info.Server = @"c:\c\Practise_1\data\World.udb";
            info.EngineType = EngineType.UDB;
            info.Alias = "world";
            info.Password = "";
            bool bb=false;
           Datasource  ds = workspace1.Datasources.Open(info);
            if (ds != null )
            {
                WorkspaceConnectionInfo wcInfo = new WorkspaceConnectionInfo ();
               wcInfo.Server = "c:\\tt.smwu";
               wcInfo.Type = WorkspaceType.SMWU;
               workspace1.SaveAs(wcInfo);
            }

数据源下还是没有数据!
你数据源里面有数据集吗?
数据就是sampledata里的worldmap
Datasource  ds = workspace1.Datasources.Open(info);

int count=ds.Datasets.count

看看数据集的个数是否是0

另外文件型数据源是独占的,如果你其它地方打开了这个数据源,那么程序里面是没有成功打开的

实在你解决不了的话,私信一下我你的QQ,明天帮你远程看一下。
count=17,没有在别的地方打开
这说明数据源成功打开了的,看你代码也没啥问题,不行的话你直接打我分机号01059896631
...