以下代码说明了如何从oracl数据库正确读取包含中文的Bolb。
public string getAttachment()
... {
String sql = " select BOLB_CONTENT from SOME_TABLE where ID = '222' " ;
OracleConnection conn = new OracleConnection(connString);
conn.Open();
OracleCommand cmd = conn.CreateCommand();
cmd.CommandText = sql;
OracleDataReader reader = cmd.ExecuteReader();
reader.Read();
System.Text.StringBuilder sb = new StringBuilder();
byte [] buffer = new byte [ 8192 ];
int i = 0 ;
int j;
do
... {
j = ( int )reader.GetBytes( 0 , i, buffer, 0 , buffer.Length);
sb.Append(System.Text.Encoding.Unicode.GetString(buffer, 0 , j));
i += j;
} while (j == buffer.Length);
return sb.ToString();
}
注意, 第24行中使用Encoding,这是因为在存入数据库时也使用的Unicode编码,所以这里在读取的时候需要使用同样的编码。否则可能会出现错误。
以下是将中文字符数据转化成制定编码二进制数组的代码:
System.Text.Encoding.Unicode.GetBytes("测试oracle数据库中文读写!");
分享到:
相关推荐
### Oracle Blob类型转换为文件读取的相关知识点 ...通过以上内容,我们可以了解到如何在C#中实现Oracle数据库中Blob类型的读取和保存操作。这对于处理数据库中的多媒体文件等二进制数据非常有用。
本篇文章将深入探讨如何使用C#语言访问Oracle数据库,并重点讲解处理Blob(Binary Large Object)字段的读写操作。 首先,让我们理解C#访问Oracle数据库的基本原理。Oracle数据库提供了一个名为ODP.NET(Oracle ...
c#-操作数据库oracle的小代码,提供用于学习。代码主要实现从oracle读取、保存、上传图片等功能,使用了Oracle.DataAccess.dll,想了解相关知识的欢迎下载,有问题的请给我留言,谢谢。
在Oracle数据库中,Blob字段可以容纳大量非结构化数据,而C#提供了一个名为Oracle.DataAccess.Client的Oracle数据提供者,通过这个提供者,我们可以轻松地在C#应用程序中对Blob字段进行操作。 首先,我们需要在C#...
本话题主要探讨了如何使用C#语言来实现Oracle数据库中的Blob类型字段进行文档的上传与下载操作。以下是对这一主题的详细解释。 首先,Oracle数据库中的Blob(Binary Large Object)类型用于存储大量的二进制数据,...
在Java应用程序中读取Oracle数据库中的BLOB字段通常涉及到几个步骤:建立数据库连接、执行查询语句、获取结果集并从中提取BLOB数据,最后将这些数据写入到文件中。 ##### 3.1 加载Oracle驱动 在Java程序中使用...
以下是一个示例PL/SQL代码段,用于遍历`photos`表,读取BLOB数据,并将其保存为本地文件: ```sql DECLARE v_blob BLOB; v_filename VARCHAR2(255); v_file UTL_FILE.FILE_TYPE; BEGIN FOR r IN (SELECT ...
下面将详细介绍这两种数据类型以及如何在Oracle中使用它们存储和读取图片。 1. **CLOB数据类型**: `CLOB`数据类型用于存储大量的字符数据,最大可达到4GB。虽然主要用于存储文本,但在本例中,由于图片可以被转换...
以上就是使用C# WinForm操作Oracle数据库Blob字段,存储和读取图片的基本步骤。在实际开发中,还需要考虑到错误处理、事务管理、资源释放等细节,以确保代码的健壮性和高效性。通过不断实践和学习,你可以更好地掌握...
我们使用了 Java 语言和 JDBC 驱动程序来实现数据的导出,并将 Image 类型数据写到文件中,然后将文件中的数据读取出来,并将其设置到 Oracle 的 CLOB 字段中。这种方法可以帮助我们实现不同数据库管理系统之间的...
在C#中,Oracle提供了Oracle.DataAccess.Client库来操作Oracle数据库,包括LongRaw和Blob字段的转换。以下是一个简单的步骤概述: 1. **连接数据库**:使用OracleConnection类建立到Oracle数据库的连接。需要提供...
标题提到的“基于.NET的Oracle BLOB数据高效存取方法”是一种针对Oracle数据库中BLOB类型数据存储和读取的优化策略。BLOB(Binary Large Object)是Oracle数据库中用于存储大量二进制数据的对象,常用于保存图像、...
在这个案例中,我们将深入探讨如何使用C#编程语言在Oracle数据库中存储和检索图片,特别是在Web应用程序的上下文中。Oracle数据库以其稳定性和强大的功能而闻名,而C#作为.NET框架的一部分,为Web开发提供了丰富的...
对于开发者而言,这是一个学习C#与Oracle数据库交互的好例子,可以通过源码了解如何读取Blob字段、处理查询条件以及与数据库进行交互。 总的来说,Oracle照片导出工具是一个实用的辅助工具,它结合了数据库查询和...
Oracle存储过程读取Blob数据 为了读取并处理存储过程中的Blob数据,可以使用以下步骤: ##### 2.1 定义变量 在存储过程中定义必要的变量,如用于读取Blob数据的变量以及用于记录Blob长度的变量。 ```sql ...
本篇文章将详细探讨如何使用ADO.NET,特别是C#语言,来读取和写入Oracle数据库中的Blob和Clob大对象。 首先,我们需要了解Oracle的OracleClient提供程序,它是ADO.NET与Oracle数据库进行通信的桥梁。安装Oracle的...
本项目涉及的技术栈是Oracle数据库和C#.NET编程语言,主要实现了图片的上传、存储以及从数据库中选择显示和删除的功能。以下是对这些知识点的详细解释: 1. **图片上传**: 在C#.NET中,可以使用...
5. **编程方式**:使用编程语言如Java、Python或C#编写脚本,通过ODBC或JDBC连接数据库,读取SQL Server中的数据并写入Oracle。这种方式灵活度高,可以自定义同步逻辑,但需要一定的编程基础。 6. **云服务**:对于...