指定是否连接或打开数据源?

0 投票
idesktop c++

请问,哪个参数可以指定 在打开工作空间时可指定是否连接或打开数据源?
4月 25, 2018 分类:  488次浏览 | 用户: g明伟 初出茅庐 (30 分)

1个回答

0 投票
 
已采纳
工作空间和数据源就是绑定关系,打开工作空间时只要工作空间里面有数据源就一起打开,没有这样的特殊需求参数。
4月 25, 2018 用户: 程逸诗 名扬四海 (2,437 分)
采纳于 5月 23, 2018 用户:g明伟
如果这个工作空间(文件型)打开了,但是其中一个数据源打开失败,是什么原因?是否可以直接判断这个数据源被占用了?
可能性有几种:首先你的数据源是文件型的还是数据库型的。

数据库型的就是环境配置的问题,本身连不上数据库。

如果是文件型的,一种可能就是这个数据源被占用了,还有一种可能就是这个数据源和工作空间的相对位置发生了变化,工作空间和数据源是靠相对路径来关联的。
请问,在c++ iobject 中,如何使 工作空间和数据源 的 相对路径 关联上?。 比如:

UGDataSource* pDatasource = pWorkSpace->OpenDataSource(UGString(_T("C:/Users/aaa/Desktop/testmap.udb")), UGString(_T("123456")),UGC::UGEngineType::UDB);

工作空间pWorkSpace本身关联了一个数据源。

这个数据源C:/Users/aaa/Desktop/testmap.udb并不属于pWorkSpace,但是我用pWorkSpace去Open这个数据源,发现pWorkSpace的成员变量m_datasources的数据源就增加了一个,就是说数据源变成了2个,但是当我close pWorkSpace 以及save后,再次打开这个pWorkSpace,发现数据源还是只有一个,是哪里的方法不对呀
工作空间没有保存或者保存失败了

工作空间保存相关问题见之前提问http://qa.supermap.com/21864?show=21864#q21864

...