处理数据库开发中的疑难疑问
2009-08-21 网侠
疑问 1.服务器上的数据库不能删除
服务器上的数据库(在 ADOMD.Catalogs 中)在 DSO.Server.MDStores 集合中不出现而且不能删除。
原由:知识库已损坏或修改,或是服务器在事务中失败。
处理方案:若要删除该数据库并释放所用的硬盘空间,可运用决策支持对象 (DSO) 建立一个名称相同的数据库,然后运用 clsServer 对象的 Remove(删除)要领将其立即删除。
疑问 2.收到如下不正确信息:"未找到该组件的许可证信息"
从 Microsoftreg; Visual Basicreg; 控件中收到"未找到该组件的许可证信息"消息。
原由:Microsoft SQL Server™ 2000 Analysis Services 所安装的控件带有用于运行时的许可证。Visual Basic 的安装是在 Analysis Services 之后,未能正确安装这些组件以便在设计环境中运用。
处理方案:在 Internet 上,访问 Microsoft 产品支持服务 Web 站点。
疑问 3.收到如下不正确信息:"多维数据集结构已优化"。
在多维数据集编辑器中选择了"优化结构 "菜单命令后,收到"多维数据集结构已优化"的消息。若在此后保存该多维数据集,则会收到以下消息:"在结构中检测到循环。请删除多余的联接"。
原由:通过"优化结构 "命令优化结构可能并未删除事实数据表与维度表之间、或是雪花结构维度的两个维度表之间的无效联接。
处理方案:在多维数据集编辑器的结构视图中,标识无效联接,然后通过"删除联接"命令将这些联接删除。
疑问 4.当配置钻取选项时,列表中缺少表
原由:具有优化结构的多维数据集可能不会将指定钻取选项时可以运用的表全都显示出来。
处理方案:当指定钻取选项时,可以将表联接到钻取结构。添加表并解释 SQL WHERE 子句以建立联接。
疑问 5.在引用决策支持对象 (DSO) 的对象属性或要领时,使用程序表现异常。
在使用程序通过 LockObject 要领获得 DSO 对象上的锁后,其它共享该 DSO 对象的使用程序就会在引用该对象的某些属性或要领时表现异常。
原由:原始使用程序有可能破坏了原始 DSO 对象。如果是这样,所有其它使用程序都将含有对该对象无效的引用,因为 DSO 会在获得锁后自动刷新更新过的对象。
处理方案:运用 DSO 对象的 Parent 属性来检查对象引用的有效性。无效的对象引用的 Parent 属性配置为 Nothing。