昨
天晚上往Oracle数据库里面保存一幅图片,算是很稀松平常的大字段操作,搞了半天就是没存进去,提示是
“System.Data.OleDb.OleDbException: ORA-01008:
并非所有变量都已关联”。本以为是OleDbParameter的写法不对,到CSDN上一查,问题出在驱动程序上:把
“provider=MSDAORA.1;”改为“provider='OraOleDb.Oracle';”,问题解决。
总结一下在 .Net 中读写Oracle数据库常用两种方式:OracleClient和OleDb,其中OleDb的方式根据驱动程序的不同又有两种。
1.
OracleClient方式,是微软专门针对Oracle数据库开发的,仅在 .NET Framework 1.1
版中受支持。据说速度快、性能好,是推荐使用的方式。但根据我的经验,当Oracle数据库服务器端采用英文字符集比如 US7ASCII
时,客户端不管字符集如何设置,读出的中文都是乱码;若服务器端用中文字符集比如 ZHS16GBK ,则无乱码问题。
引用类库:System.Data.OracleClient.dll。
命名空间:System.Data.OracleClient。
常用类:OracleConnection、OracleCommand、OracleDataAdapter、OracleTransaction、OracleDataReader等。
典型连接字符串:“data source=oratest;user id=scott;password=tiger”(注意:可不指定provider 驱动)。
2. OleDb方式,微软和Oracle公司各自提供了OleDb的驱动程序,使用方法的差别很少。不管Oracle服务器端用何字符集,读写中文均无乱码问题。
相同之处
命名空间:System.Data.OleDb。
常用类:OleDbConnection、OleDbCommand、OleDbDataAdapter、OleDbTransaction、OleDbDataReader等。
不同之处
引用类库:微软的只需要System.Data.dll;若用Oracle的驱动,虽然也只要引入System.Data.dll,但前提是首先安装
Oracle针对.Net的数据访问组件
。
连接字符串:与OracleClient方式相比,要添加一个provider,微软为“provider=MSDAORA.1;”,Oracle为“provider='OraOleDb.Oracle';”。
分享到:
相关推荐
Oracle数据库支持两种特殊的数据类型,用于存储大量文本或二进制数据:Blob(Binary Large Object)和Clob(Character Large Object)。本篇文章将详细探讨如何使用ADO.NET,特别是C#语言,来读取和写入Oracle数据库...
C#(VB.net)数据库访问操作类库 你知道,一些类库把常用的操作封装起来,以后可以直接调用,就节省了普通开发人员的大量精力. ...说白了就是数据库系统 ...类库还分X86 和ANY 两种平台,满足将来 64位操作系统需要!
首先,非结构化数据的存储方案通常有两种:文件系统方式和数据库LOB方式。文件系统方式简单易用,但数据管理不一致,安全性较低,开发难度大。而数据库LOB方式则能实现业务数据的一体化管理,但某些数据库可能在高...
注意,由于LONG和BLOB字段不能在同一INSERT语句中一起插入,因此在处理这两种类型的数据时,可能需要分开进行。在上述示例中,可以看到先对其他字段执行INSERT操作,然后再单独处理BLOB字段。 总之,理解并正确使用...
本课程“NIIT博睿软件工程师第二学期使用ADO.NET 和 XML 开发高级数据库应用程序”旨在深入讲解如何利用这两种技术构建高效、灵活的数据处理系统。ADO.NET是微软.NET框架中用于访问数据库的关键组件,而XML作为一种...
ODP.NET允许C#应用程序直接与Oracle数据库交互。安装完成后,在项目中引用相应的DLL文件,如`Oracle.DataAccess.dll`,以便使用Oracle相关的类和方法。 连接Oracle数据库时,可以使用`OracleConnection`类。以下是...
这两种类型都支持透明的远程调用,但它们的生命周期管理方式有所不同。 对于数据库应用,Oracle是一种常见的关系型数据库管理系统,被广泛用于大型企业级应用。使用C#与Oracle数据库交互通常需要Oracle数据提供者...
在处理大文件上传时,可能需要将文件存储在Oracle数据库的BLOB字段中。Oracle提供了Blob数据类型来存储二进制大对象,包括图片、文档等。在ASP.NET中,可以通过Oracle.DataAccess.Client命名空间下的OracleCommand和...
本文将深入探讨如何使用VB.NET和VC.NET这两种Microsoft .NET框架下的编程语言来开发交互式的CAD系统。VB.NET以其易学易用的特性受到许多开发者的喜爱,而VC++.NET则是C++的现代版本,提供了更底层的控制能力,两者...
在IT行业中,数据库管理和Web应用开发是两个至关重要的领域,而Oracle数据库与ASP.NET框架的结合则为开发者提供了强大的工具。本文将深入探讨一个特定的问题:“Oracle ASP.Net成员资格提供程序ProviderUserKey字节...
10. **Windows Forms和WPF**:VB.NET可以创建两种类型的桌面应用程序,传统的Windows Forms和更现代的Windows Presentation Foundation (WPF)。WPF提供了更丰富的图形渲染和用户体验设计能力。 11. **.NET ...
ADO.NET 是微软开发的一种数据访问技术,用于与各种数据库(如SQL Server、Oracle、MySQL等)进行交互。它是.NET框架的重要组成部分,为开发者提供了一种高效、可靠且灵活的方式来处理结构化数据。在本文中,我们将...
书中的实例可能会涵盖这两种类型的项目,帮助读者理解如何利用VB.NET的控件、事件处理程序以及数据绑定机制来构建用户界面。 数据库的使用是现代应用开发不可或缺的部分。VB.NET支持ADO.NET(ActiveX Data Objects ...
Oracle Streams是一种先进的数据复制解决方案,它允许用户在Oracle数据库之间实时传输数据,从而实现数据库的复制、归档、故障恢复和读写分离等多种功能。在本配置文档中,你将找到有关Oracle Streams的全面信息,...
11. ADO.NET与数据库交互:.NET框架的ADO.NET组件提供了与各种数据库(如SQL Server、Oracle等)交互的能力,包括连接数据库、执行SQL命令、填充数据集等。 12. ASP.NET Web应用:对于开发Web应用程序,ASP.NET提供...
ADO.NET和OpenXML是两种在.NET环境中用于与数据库交互的重要技术。本文将深入探讨如何使用它们来执行批量数据库操作,特别是在SQL Server环境下。 首先,ADO.NET是Microsoft开发的一个数据访问框架,它为开发者提供...
在C#中,我们可以使用ADO.NET来连接SQL Server和Oracle数据库,执行SQL语句,读写数据,实现数据的增删改查操作。 3. **数据库连接**: 数据库连接是实现数据同步的基础。在C#中,我们需要创建两个不同的数据库连接...
在Oracle数据库中,XML数据可以以多种方式存储,包括BLOB、CLOB、NCLOB或XMLType。XMLType是Oracle专为XML设计的数据类型,提供了对XML数据的强类型化处理。 在Oracle XML DB中,XML数据可以存储在文件系统中或者...
在C#中,我们可以使用ADO.NET来与各种数据库进行交互,如SQL Server、MySQL、Oracle等。ADO.NET提供了DataSet、DataTable等组件,便于数据的读取和写入。而对于Excel操作,由于.NET框架默认并不支持,我们可以引入第...
数据库是存储和管理数据的系统,这里提到了两种数据库产品:MySQL和Oracle,它们都是企业级的数据库解决方案,有着各自的特点和用途。 在压缩包文件名列表中,我们看到了一些可能与数据库操作和Office集成有关的DLL...