Oracle的BLOB字段类型可以用来保存长2进制数据。但是通常读写BLOB字段数据的代码都是很罗嗦,非细心编码很容易出错。我把这个功能集成到我的OCI包装库(ORADBI)中。下面的例子就是演示如何使用ORADBI把多个文件按保存到一个字段里。
我在另外的例子中将演示如何把BLOB字段中的数据还原为文件。
整个ORADBI是我在OCI基础上写的C语言API。从创作这个API到一直不断的更新维护,已经有1年多了。我也将一直维护下去,不断完善和添加新的功能。ORADBI是完全免费和完全开源的,使用者只要不声明为其版权所有,可以用它做任何事情。
这是个直接利用OCI操作BLOB的例子。我相信,这是你能找到的最快捷的方法。
1)首先保证你的机器上可以使用Oracle9i或10g的客户端。Oracle10g只需要安装Windows即时客户端。
2)下载我编写的ORADBI库。我提供了完整的库代码和例子程序。
http://download.csdn.net/source/589896
3)定义你要保存的文件路径,如:
const char* arrLobFiles[] = {
"E:\eBookLib-计算机\C&C++\APress.Cryptography in C and C++_SourceCode.rar",
"E:\eBookLib-计算机\C&C++\Charles.River.Media.Algorithms.For.Compiler.Design.eBook-LiB.chm",
"E:\eBookLib-计算机\C&C++\C与C++中的异常处理.pdf",
"E:\eBookLib-计算机\C&C++\The art of assmebly language.pdf",
"E:\eBookLib-计算机\C&C++\Jones.And.Bartlett.Publishers.Foundations.Of.Algorithms.Using.Cpp.Pseudocode.3rd.Edition.eBook-Li.chm",
"E:\eBookLib-计算机\C&C++\The C++ Standard Library.pdf",
"E:\eBookLib-计算机\C&C++\GCC--CompleteReference.pdf",
"E:\eBookLib-计算机\C&C++\VC技术内幕第五版.chm",
"E:\eBookLib-计算机\Network&Tcpip\ALTHOS.Introduction.To.Data.Networks.PDN.LAN.MAN.WAN.and.Wireless.Data.Technologies.and.Systems.e.chm",
"E:\eBookLib-计算机\Network&Tcpip\Digital Satellite Communications 2nd Ed - book.pdf",
"E:\eBookLib-计算机\Network&Tcpip\McGraw.Hill.Storage.Networks.The.Complete.Reference.chm",
"E:\eBookLib-计算机\Network&Tcpip\UNIX Network Programming Volume 1_3rd Edition-The Sockets Networking API.chm"
};
通过上文中的讲解相信现在大家对如何在oracle的blob字段里保存多个文件的方法有所了解,这样在以后的工作中遇到类似问题就能够轻松解决。