以下代码说明了如何从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数据库中文读写!");
分享到:
相关推荐
`ReaderBlob`方法实现了从数据库读取Blob数据并将其转换为文件的功能。首先执行SQL查询以获取Blob数据,然后将读取到的Blob数据保存为指定格式的文件。 ### 五、注意事项 - 在处理大型Blob数据时,需要注意内存...
- **数据导出**:每个线程从数据库读取BLOB数据,将其写入本地文件系统。对于Word文档,需要确保正确设置文件格式和编码,以保持文件的完整性。 - **同步与关闭**:确保所有线程完成任务后,关闭线程池和数据库...
2. **读取Blob图片字段**:从数据库表中读取包含Blob图片的记录。 3. **图片缩放**:对读取到的图片进行缩放处理,这可能需要用到`java.awt.image`包中的类,如`BufferedImage`、`AffineTransformOp`等。 4. **展示...
1. **数据准备**:确保ORACLE数据库中的BLOB字段包含所需的数据,并且是完整的。可能需要进行数据验证,以确保所有数据都能被正确读取。 2. **数据导出**:使用ORACLE提供的工具,如SQL*Plus或者PL/SQL Developer,...
在Oracle数据库中,BLOB(Binary Large Object)字段是用来存储大量二进制数据的类型,如图片、视频或任何非文本文件。与之相对的是CLOB(Character Large Object),用于存储大量的文本数据。在Java应用中,特别是...
1. Ora_Occi_DB.cpp:这是一个C++源代码文件,很可能包含了使用OCCI接口与Oracle数据库交互的实现,特别是针对BLOB数据的读取和写入。 2. oraocci11d.dll、oraocci11.dll:这是Oracle OCCI的动态链接库文件,用于...
在Oracle数据库中,批量导入图片至BLOB字段是一项常见的任务,尤其在处理大量图像数据时。本示例介绍了一个高效且灵活的方案,利用存储过程实现这一操作。首先,我们需要理解几个关键步骤和涉及的Oracle对象。 1. ...
为了能够从文件系统中读取图片并加载到数据库中的 BLOB 字段,需要创建一个 DIRECTORY 对象。DIRECTORY 对象是数据库中的特殊对象,用于指定文件系统的路径,以便进行文件操作。 ```sql CREATE OR REPLACE DIRECTORY...
ODAC是由Devart公司提供的一个高性能Delphi和C++Builder数据库连接库,它支持多种数据库,包括Oracle、MySQL、PostgreSQL等。ODAC提供了一个更直接的面向对象的方式来操作数据库,相比ADO,它通常能提供更好的性能...