下载Oracle数据库中的Blob二进制文件,实例!

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

将Oracle数据库中HR方案下的TESTFILEUPLOAD表中的文件下载至系统临时目录。

void downloadFile()

??{

???OracleConnection objOcon = new OracleConnection("user id=system;Data Source=tsems;passWord=system");

???OracleCommand objOcmd = new OracleCommand();

???objOcmd.Connection = objOcon;

???objOcmd.CommandText = "SELECT * FROM HR.TESTFILEUPLOAD WHERE PKID='2006'";

???FileStream objFs;

???BinaryWriter objBw;

???int bufferSize = 260;

???byte [] outByte = new byte[bufferSize];

???long retval;

???long startIndex = 0;

???string fileName = "";

???objOcon.Open();

???OracleDataReader objDr = objOcmd.ExecuteReader(CommandBehavior.SequentialAccess);

???objDr.Read();

?? fileName = objDr["FILENAME"].ToString();

???objFs = new FileStream(Path.GetTempPath()+fileName, FileMode.OpenOrCreate,FileAccess.Write);

???objBw = new BinaryWriter(objFs);

???startIndex = 0;

???retval = objDr.GetBytes(8, startIndex, outByte, 0, bufferSize);

???while ( retval == bufferSize)

???{

????objBw.Write(outByte);

????objBw.Flush();

????startIndex += bufferSize;

????retval = objDr.GetBytes(8, startIndex, outByte, 0, bufferSize);

???}

???objBw.Write(outByte, 0, (int)retval -1);

???objBw.Flush();

???objBw.Close();

???objFs.Close();

?? bjDr.Close();

???objOcon.Close();

??}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航