当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 下载Oracle数据库中的Blob二进制文件,实例!

ASP.NET
asp.net Execl的添加,更新操作实现代码
asp.net 生成曲线图实现代码
从外部的js文件中获取ASPX页面的控件ClientID
asp.net 因为数据库正在使用的解决方法
asp.net Repeater 自递增
asp.net 实现防迅雷等下载工具盗链
ASP.NET封装的SQL数据库访问类
asp.net 通过指定IP地址得到当前的网络上的主机的域名
aspx 服务器架设问题解决
ASP.NET Session使用详解
Asp.net 5种页面转向方法
ASP.NET 用户多次登录的解决方法
ASP.NET下母版页和内容页中的事件发生顺序整理
asp.net 程序性能优化的七个方面 (c#(或vb.net)程序改进)
从客户端检测到有潜在危险的Request.Form值的asp.net代码
asp.net CommunityServer中的wwwStatus
在应用程序级别之外使用注册为allowDefinition=''MachineToApplication''的节是错误的
.net开发人员常犯的错误分析小结
ASP.net Substitution 页面缓存而部分不缓存的实现方法
asp.net 生成静态时的过滤viewstate的实现方法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 196 ::
收藏到网摘: n/a


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