当前位置: 首页 > 图文教程 > 数据库 > Oracle > Oracle三种上载文件技术

Oracle
Excel VBA连接并操作Oracle
Oracle 外连接实现代码
oracle 存储过程和函数例子
Oracle 数据库操作类
ORACLE 分区表的设计
Oracle 用户权限管理方法
Oracle In和exists not in和not exists的比较分析
利用windows任务计划实现oracle的定期备份
ORACLE11g随RHEL5系统自动启动与关闭的设置方法
在oracle 数据库查询的select 查询字段中关联其他表的方法
plsql和tsql常用函数比对
plsql与tsql的语法不同
ASP.NET调用oracle存储过程实现快速分页
执行drop表操作后数据库无法起动
分析Oracle有时会用索引来查找数据的原因
数据从MySQL迁移到 Oracle的注意事项
快速理解Oracle归档模式的命令及参数
在Oracle里加快SQL执行的三种方法
几条常见的数据库分页 SQL 语句
Oracle9I OCP认证过程

Oracle三种上载文件技术


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

正在看的ORACLE教程是:Oracle三种上载文件技术。

Oracle中有多种方法可以向数据库或服务器文件系统上载文件,这里主要介绍如下三种:Oracle HTTP Server(OHS)的mod_plsql模块提供通过web页面向数据库上载文件的功能;Oracle 9iAS的标签库和Bean提供的文件上载功能;通过JDBC程序上载文件。
  一、Oracle HTTP Server(OHS)的mod_plsql模块提供通过web页面向数据库上载文件的功能
  1.在文件上载的目标模式中建立文档访问表

  表中CONTENT_TYPE列为BLOB或long raw,但只能有一列。每个上载文件在表中单独占有一行,不能同时把多个文件上载到表中的同一行内,这是mod_plsql模块功能有限的地方。用下面和列建立文档表:Content_table。

  2.配置DAD的文档访问表
  启动数据库和OHS后,创建空白的数据库访问描述符。在"数据库访问描述符"页面的"网关使用文档表"信息向与此数据库访问描述符关联的数据库上载/下载文档。缺省情况下所有文档都将以 BLOB 上载。通过在 Long Raw 字段中指定以逗号分隔的文件扩展名,可以覆盖此缺省设置。此字段的*值将使所有文档以 Long Raw 上载。"文档访问过程"指定用于访问文档的虚拟路径。"文档访问过程"字段指定网关处理文档请求所调用的过程。这里指定缺省的文档表为content_table。
  3.提供文件上载页面,这里使用存储过程的形式上载和浏览、下载文件。

  4.提供上载文件浏览页面
  第3步提交的文件自动上载到文档表中,下面由存储过程WRITE_INFOS来记录上载的文件信息,实际上完全没必要,但这里做一比较。

  查阅文档表后会发现,文件已经上载了,但文档表的上载时间有错误,与上载记录中的系统时间不符,这可能是该功能的一个BUG,如果谁有解决此问题的办法或软件补丁,请告诉我。
  5.为上载文件提供页面浏览功能

  这样可以通过Web浏览器根据上载文件的mime_type类型浏览文件了。
  这种上载文件的办法最为简单,可以支持中文文件名,支持客户端文件上载和下载,可以自动识别文件类型和计算文件大小。

[NextPage]

 二、Oracle 9iAS的标签库和Bean提供的文件上载功能
  Oracle developer suit 9i 中的Jdeveloper9031提供通过标签库上载文件的方法,下面的例子中in_file.jsp文件提供上载表单,up_file.jsp列出上载文件列表,dn_file.jsp文件为下载刚才上载的文件。该方法使用图形编辑器,简单可行,但不支持中文文件名,可实现客户端文件上载和下载。
  如下为in_file.jsp的源程序:

  up_file.jsp的源程序:

  dn_file.jsp的源程序:

  三、通过JDBC实现文件上载和下载
  通过把文件上载到BLOB或CLOB列实现文件上载,但此法不支持客户端文件上载,所以局限性很大,通过JDBC实现的下载功能也只是在服务器的本地下载(下载程序没有列出),所以这种方法仅作为一项技术参考可以,没有太大实用价值。
  Blob_in_stream.jsp程序如下:

  Blob_w_stream.jsp程序如下:

上一页