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

将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();
  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值