使用OLEDB连接Oracle数据库无法获取对象属性的原因
来源:互联网 发布:java判断是否含有空格 编辑:程序博客网 时间:2024/05/22 04:52
出于效率及编程便利性考虑(CAD Client的连接速度实在是有点慢),在查询对象属性数据时往往是使用OLEDB直接连接Oracle进行相关查询的。然而,使用中发现偶尔会出现无法获取对象属性的问题。经分析,发现问题出在版本功能上。
SDE提供了版本管理功能,用户可以很方便的进行图形的审批、回滚等操作。然而,此功能在Oracle中需要其它表的辅助,主要包括了A表和D表。ArcSDE建立了版本后,关于表空间数据的增加、修改均通过相应的A表和D表实现。由于直接使用OLEDB在访问时只查询到没有修改的版本基表,因而无法检索到创建版本之后新增加或者修改的对象的信息。
有关版本的具体机制可参见:
http://gis.esri.com/library/userconf/proc01/professional/papers/pap232/p232.htm
解决该问题的有两类方案:修改系统查询机制,或者是在Oracle中建立相关的视图。
若采用修改系统的方法,考虑到SDE CAD Client效率较低,则应考虑采用SDE提供的C API重写相关代码,相对修改较大。
若采用建立视图的方法,则可使用指令sdetable,把操作定为create_mv_view,即可针对指定的表建立相应的视图,并把相关的权限赋予对应的Oracle帐号即可。但每个注册为版本的要素类都需要建立对应的视图才可以避免上述问题产生。
以下简单列一下几个解决方案的优缺点。
- 使用OLEDB连接Oracle数据库无法获取对象属性的原因
- 使用OLEDB连接数据库
- 使用.Net获取OLEDB数据库的架构.
- C++ 使用OLEDB连接数据库
- 利用VB获取基于OLEDB连接sqlserver数据库的字符串
- 无法连接到sqlsever2008 数据库的原因
- 无法进入oracle数据库的一个原因
- .net中使用OleDb连接Access数据库
- 使用OracleClient,OLEDB,ODBC,Visual Studio,ODP.NET 来连接 Oracle访问数据库
- OleDB连接Oracle的两种方法
- 使用.udl快速测试与数据库的连接并得到连接字符串(OLEDB、ADO)
- OLEDB连接SQL数据库
- oledb连接Access数据库
- 用oledb连接数据库
- 使用PL/SQL Developer连接oracle数据库报“无法解析指定的连接标识符”错误
- vpn无法连接的原因
- java无法连接sql2000数据库原因一二
- Spring 无法释放连接的原因:没有使用事务管理!
- 写给新手的,关于投稿的一些技巧- -
- c++入门学习(内存与指针及数组)
- c++入门学习(函数)
- VML工作流设计器
- C# 中的委托
- 使用OLEDB连接Oracle数据库无法获取对象属性的原因
- J2EE Highlights
- 善变
- c++入门学习(异常)
- 防止同一个程序多次运行。 [VB.NET]
- Pro*C介绍-内嵌SQL
- 今天决定在这安家。
- 最小的mp3 player
- 找出了两年前买的书《java与模式》,准备好好看看