使用OLEDB连接Oracle数据库无法获取对象属性的原因

C#连接Oracle数据库 C#连接Oracle数据库 1.OleDB连接驱动OraOLEDB.Oracle     Oracle公司提供的OleDB驱动,Provider需要根据实际情况修改,支持32bit与64bit,需要安装Oracle Data Provider for OLE DB.     连接字符串:     connectionString="provider=OraOLEDB.Oracle;Pers 阅读详情

出于效率及编程便利性考虑(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帐号即可。但每个注册为版本的要素类都需要建立对应的视图才可以避免上述问题产生。
以下简单列一下几个解决方案的优缺点。

  CAD Client  C API  OLEDB
 查询速度 慢 快 快
 是否需开发代码 是 是 否
 自适应性  好 好 差 
 修复此问题时间  慢 慢 快

 

C#连接OleDBConnection数据库的操作 对于不同的.net数据提供者,ADO.NET采用不同的Connection对象连接数据库。这些Connection对我们屏蔽了具体的实现细节,并提供了一种统一的实现方法。 Connection类有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection。 Sqlconnetcion类的对象连接是SQL Server数据库; 阅读详情

相关推荐

VB连接oracle数据库

做个人用小工具,而不是频繁交易的大项目,下面两种连接都可以(各自需要相关驱动): 注:还有其它连接方式,对比后放弃了。 下面是ODBC和OLEDB的例子(odbc需要下载对应的instantclient_11_2;oledb需要相关的dll及关联dll控件): Public Function getConnDB() As Integer On Error GoTo errflag ...

yzzl20040935的博客 4751

c# 连接oracle

一、数据库驱动 oracle为c#提供了两种驱动:Oracle.DataAccess.dll与Oracle.ManagedDataAccess.dll 采用Oracle.ManagedDataAccess.dll Oracle.DataAccess.dll需要使用到数据库客户端的dll。通常情况下本地Oracle客户端是64位,如果项目是32位的,那么就会出现32位和64位不兼容的问题。使用...

BlackC16的博客 2708

VS2010 用OLEDB连接Oracle数据库

using System.Data.OleDb; OleDbConnection connection = new OleDbConnection("Provider=MSDAORA; Data Source=数据库名_服务器IP地址;User Id=***;Password=***");//定义数据库的字符串 OleDbCommand catCMD = connection.CreateCommand();//定义连接数据库的命令 catCMD.CommandText = " SELECT * FROM student ";//定义对数据库操作的SQL语句 connection.Open();//打开连接

OLEDB数据源

数据源在oledb中指数据提供者,这里可以简单的理解为数据库程序。数据源对象代表数据库的一个连接,是需要创建的第一个对象。而数据源对象主要用于配置数据库连接的相关属性如连接数据库的用户名密码等等 数据源主要完成的功能如下: 1. 进行数据库身份认证 2. 为每个连接准备对应的资源,如对应的数据缓冲,网络连接资源 3. 设置连接属性,给访问者何种权限,设置连接的超时值等等,对象会根据对应

Masimaro的专栏 2813

解决ArcSDE版本lock问题

在操作sde时,会产生lock文件,本文档用于解决ArcSDE版本lock问题

PaddleOCR实战:从零开始打造专属OCR模型的完整指南

本文提供了一份从零开始使用PaddleOCR打造专属OCR模型的完整实战指南。内容涵盖环境搭建、数据标注与准备、模型训练与调优,以及最终的模型转换与部署。重点介绍了如何利用PaddleOCR进行模型训练,并整合PPOCRLabel等工具高效准备数据集,帮助开发者快速构建适用于特定场景的高精度OCR识别能力。

rl6adventurer的博客 733

数据库-OLEDB连接字符串各子句属性列表

weixin_34174422的博客 130

DEM高程数据的获取、合并与坐标转换

DEM高程数据的获取、合并与坐标转换一、DEM数据的获取二、数据合并三、投影转换方法一四、投影转换方法二 今天用DEM数据做了一个坡度分析,数据使用过程中涉及到投影坐标转换,由于不是很熟悉所以费了一番功夫。经过一番折腾总结出两个方法,方法一自认为比较便捷的方法,即通过BIGMAP软件中工具列表中的投影转换功能进行。方法二为传统方法,即在Arcgis中用投影栅格工具进行转换。 一、DEM数据的获取 在地理空间数据云网站下载DEM数据(精度包括30米和90米),数据格式为tif格式或img格式,坐标为WGS_1

weixin_48625651的博客 1万+

用oledb连接数据库

odbc,oledb,ado,adox的关系: odbc: 曾经的数据库通信标准 oledb: 在一切对象化的趋势下,ms打算用它取代odbc. oledb分两种:直接的oledb和面向odbc的oledb,后者架构在odbc上,这样没有自己的oledb提供者的数据库也可以使用oledb的特点了。 ado: 其实只是一个应用程序层次的界面,它用oledb来与数据库通信。 adox: 对a

鱼乐无穷的专栏 1792

小米手机安装Burp证书失败原因与DER格式改造指南

CA证书是HTTPS抓包和移动安全测试的基础组件,其本质是遵循X.509标准的数字凭证,依赖ASN.1/DER编码格式与完整证书链实现可信验证。Android系统默认支持PEM和DER两种编码,但MIUI自14版本起强化安全策略,仅识别DER二进制格式,并强制校验Subject Alternative Name(SAN)、Basic Constraints及证书链完整性。这种企业级加固逻辑导致Burp Suite导出的PEM格式.cer文件在小米设备上‘安装成功但无效’。本文聚焦证书格式转换、SAN字段注入

weixin_33646989的博客 625

使用CubeMX生成的项目在Keil下添加DSP库并包含arm_math头文件后报错的解决办法

问题描述: 最近使用Cube生成工程后,在Keil中使用Manage Runtime Environment即绿色小饼干按钮添加CMSIS的DSP库后编译报错。很有意思的是,STM32论坛上有外国朋友报告的同样的错误,都是30个Errors,5个Warning。 问题分析: 参考国内论坛某帖子(具体想不起来了),认为因该是Cube复制了库后,Keil从原始Packs目录下引用DSP库导致和Cub...

qq_32256951的博客 7001

OleDB访问数据库的连接字符串格式

Excel 97-2003 Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myOldExcelFile.xls;Extended Properties=”Excel 8.0;HDR=YES”; Excel 2007-2013 Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c

痛苦+反省总结=进步 2876

嵌入式STM32控制电梯面板

嵌入式STM32控制电梯面板 用点阵来显示电梯向上还是向下运动,用数码管来显示楼层数(由于灯阵显示楼层数比较困难故用数码管代替)。当按下对应的按钮,就可以去到对应层数,可上升可下降。 #include "stm32f10x.h" #include "stm32f10x_exti.h" #include "stm32f10x_it.h" #define uint unsigned int #define KEY1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_10) #define

code_init_的博客 2111

oracle oledb连接,C# 连接 Oracle 数据库(三种方式:OracleClient、ODBC、OLEDB)

1、OracleClient//基于.NET 2.0,只有2.0中包含OracleClientusing System;using System.Collections;using System.ComponentModel;using System.Data;using System.Web;using System.Web.Services;using System.Web.Services....

weixin_34406844的博客 980

大模型技术全景与核心概念解析:从基础原理到AI智能体架构(实时更新中)

本文系统解析了大模型技术的核心概念与架构。首先介绍了LLM(大语言模型)、LLMOps(模型运维)、AIGC(生成内容)、AGI(通用AI)等基础概念,重点阐述了大模型的工作原理,包括预处理、推理和后处理三个阶段。深入讲解了Token分词、FLOPs计算、Embedding向量表示等关键技术,并分析了LoRA微调、MoE架构等前沿方法。文章还探讨了AI智能体的发展前景,为理解大模型技术提供了全景视角。

算法工程师 1235

YoloV10改进策略:卷积篇|基于PConv的二次创新|附结构图|性能和精度得到大幅度提高(独家原创)

在PConv的基础上做了二次创新,创新后的模型不仅在精度和速度上有了质的提升,还可以支持Stride为2的降采样。改进方法简单高效,需要发论文的同学不要错过!

m0_47867638的博客 1094

oledb连接mysql_OLEDB 连接 和 效率(MS SQL 、Oracle 、ACESS)

这半年手头的一个项目,自己写代码的时候偏爱 MS SQL、部署服务器装的是 ORALCE 和 实际的现场是小型机,压根没有装数据库只好选用 ACESS ,三种环境不一致,才决定用 OLEDB 做数据库访问。之前忙于赶进度草草地封了几个增删改查的操作,年前闲下来做测试还发现了不少问题。趁着这几天闲就从头封装了一次,做出单独的一个简单类出来。为了调用的时候传递方便就直接从 IDbCommand 继承过...

weixin_35779001的博客 1135

一文搞懂YOLO各版本差异:v5易用、v8多任务、v10低延迟,该怎么选?

YOLOv5的“易用”是为了降低入门门槛,适合新手启蒙和旧项目维护;YOLOv8的“多任务”是为了满足工业需求,成为目前的主流版本;YOLOv10的“低延迟”是为了适配边缘计算,代表未来的发展趋势。选型的核心不是“选最新的”,而是“选最适合自己场景的”。记住选型口诀,按场景对号入座,就能避开99%的坑。希望这篇文章能帮你彻底搞懂各版本差异,选对属于自己的YOLO版本!

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1169

C#连接Oracle数据库的四种方法

C#连接数据库的四种方法 在进行以下连接数据库之前,请先在本地安装好Oracle Client,同时本次测试System.Data的版本为:2.0.0.0。 在安装Oracle Client上请注意,如果OS是3-BIT请安装32-BIT的Oracle Client,但OS是64-BIT,需要根据实际情况安装,如果你的APP是按32-BIT运行的,则需要安装32-BIT客户端,如果是按64位运

chr561314的专栏 6万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

c# oldb连接_C# 连接数据库(ODBC、Oledb、Oracle)

ODBC开放数据库连接(Open Database Connectivity,ODBC)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分。ODBC可以连接多种数据库。可能的连接字符串:/*可能的连接字符串:"Driver={SQL Server};Server=(local);Trusted_Connection=Y...

weixin_39963853的博客 536

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Oracle Sql server Oledb 的数据库连接字符串

Oracle<% @Import Namespace="System.Data" %><% @Import Namespace="System.Data.OracleClient" %>string ConnectionString="Data Source=sky;user=system;password=manager;";//写连接串OracleConnection ...

weixin_30362233的博客 413

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

bartender连接oracle,了解BarTender支持的OLEDB数据源

很多复杂的标签设计通常要求部分或全部数据来自外部数据库,而不是通过键盘键入。将BarTender连接到计算机上的现有数据库,并将该信息从数据库导入到模板中便可轻松设计复杂标签。BarTender支持的数据库类型有OLEDB数据源、ODBC数据源、SAP R/3 Intermediate Document (IDoc) 文件、以及文本文件。本文,小编跟大家分享下关于OLEDB数据源的知识内容。关于O...

weixin_39918747的博客 637

oledb连接oracle demo,如何连接Oracle数据库8:QTP脚本示例-OLEDB连接方式(二)

'OLEDB的字符连接方式,OLE DB 提供程序为"Oracle Provicer for OLE DB "'**********创建连接对象***************Set con=createobject("adodb.connection")'连接设置。等号后面的值可以通过以下方法获得:'1.新建一个udl文件,双击打开“数据链接”窗口''2.提供程序选择"Oracle Provic...

weixin_39558221的博客 460

OLEDB方式操作oracle数据库

OLEDB方式操作oracle数据库 一.查询语句: using (OleDbConnection conn = new OleDbConnection(System.Configuration.ConfigurationManager.ConnectionStrings["local_Orcl"].ConnectionString)) { ...

dazhexuan0219的博客 397

ODBC和OLEDB的连接字符串

ODBC连接 适合数据库类型 连接方式access"Driver={microsoft access driver(*.mdb)};dbq=*.mdb;uid=admin;pwd=pass;" dBase"Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;" oracle"Driver={mi...

Pei_hua100的专栏 1140

VC++ 实战数据库OLEDB编程(一)

OLEDB作为目前最全面,最强大的Windows平台下的数据库编程接口,其资料在网上却少之又少,这着实有些让人纳罕。 现在很多的应用软件系统都要和数据库打交道,没有一个好的强大的数据库编程接口作为支撑,这些系统的功能,性能,安全性等等都将是不可想象的事情。当然我们还可以选择OLEDB之上的ADO接口来作为我们的编程接口,由于ADO是基于OLEDB的上层封装,ADO比之OLEDB最大的优势就在于

Jack__h的专栏 3135
上一篇: SDE CAD Client的入库出错问题
下一篇: 关于AutoCAD中的打开文档操作
Aug
Aug
博客等级 码龄22年 6粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值