Oracle三种上载文件技术

正在看的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程序如下:

上一页    

(0)

相关推荐

  • Oracle三种上载文件技术

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

  • Oracle三种循环(For、While、Loop)实现九九乘法表

    本文为大家分享了Oracle中三种循环(For.While.Loop)案例,供大家参考,具体内容如下 1.ORACLE中的FOR循环用法(九九乘法表) declare i int:=0; j int:=0; begin for i in 1..9 loop for j in 1..i loop Dbms_Output.put(i||'*'||j||'='||i*j); dbms_output.put(' '); end loop; dbms_output.new_line; end loop;

  • sqlserver、Mysql、Oracle三种数据库的优缺点总结

    一.sqlserver优点:易用性.适合分布式组织的可伸缩性.用于决策支持的数据仓库功能.与许多其他服务器软件紧密关联的集成性.良好的性价比等:为数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势.从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要.作为一个完备的数据库和数据分析包,SQLServer为快速开发新一代企业级商业应用程序.为企业赢得核心竞争优势打开了胜利之门.作为重要的基准测试可伸缩性和速度奖的记录保持者,SQLServ

  • Python判断文件或文件夹是否存在的三种方法

    常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错.所以最好在做任何操作之前,先判断文件是否存在. 这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块.Try语句.pathlib模块. 1.使用os模块 os模块中的os.path.exists()方法用于检验文件是否存在. 判断文件是否存在 import os os.path.exists(test_file.txt) #True os.path.exists(no_exist_file.txt) #Fa

  • 三种新型技术在宽带综合城域网中的应用

    传统的电信网是为传送话音而设计,采用TDM和电路交换技术的网络,不适合传送IP数据业务和视频等多业务.为适应未来话音.数据和视频三网融合的需要,有必要建设宽带综合城域网.下面向大家介绍三种新型城域网技术及其应用. 采用POS+SDH/WDM的城域网技术 光纤通信以其巨大带宽成为物理层的首选技术.众所周知,现有的电信骨干传输网主要采用SDH/SONET技术.SDH/SONET技术十分适合传输采用TDM技术的话音业务,它具有良好的网络保护和自愈功能.另外一方面,目前的IP网络还十分依赖电信网,如电信

  • Python中可以用三种方法判断文件是否存在

    目录 1.使用os模块 2.使用Try语句 3. 使用pathlib模块 通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错.所以最好在做任何操作之前,先判断文件是否存在. 这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块.Try语句.pathlib模块. 1.使用os模块 os模块中的os.path.exists()方法用于检验文件是否存在. 判断文件是否存在 import os os.path.exists(test_file.txt) #True

  • Go读取文件与写入文件的三种方法操作指南

    目录 文件写入操作 Write和WriteString写入操作 使用buffio内置包来读文件 第三种写入文件方法:ioutil.WriteFile 总结 打开和关闭文件操作: os.Open()函数能够打开一个文件,返回一个*File和一个err.对得到的文件实例调用close()方法能够关闭文件. package main import ( "fmt" "os" ) //文件操作 func main(){ //打开文件 file, err := os.Open(

  • PHP、JAVA、.NET这三种技术的区别分析

    其实这三种编程技术各有优势,我们大概可以从语言.平台这二点来区分: 一.语言: PHP:PHP产生与1994年,其语法混合了C.Java.Perl 和他自创的一些编程语法:PHP是嵌入在HTML中执行的:它也是一种解释性语言.早期的PHP并非完全的面向对象编程语言,到了PHP4以后的版本才开始有了面向对象的概念. JAVA:JAVA产生与1995年,JAVA语言和JAVA平台统称为JAVA:它语法与C语言和C++语言很接近,并且JAVA是面向对象编程语言,JAVA是编译性语言,可以先将JAVA源

  • JavaScript中三种异步上传文件方式

    异步上传文件是为了更好的用户体验,是每个前端必须掌握的技能.这里我提出三点有关异步文件上传的方式. 使用第三方控件,如Flash,ActiveX等浏览器插件上传. 使用隐藏的iframe模拟异步上传. 使用XMLHttpRequest2来实现异步上传. 第一种使用浏览器插件上传,需要一定的底层编码功底,在这里我就不讲了,以免误人子弟,提出这点大家可以自行百度. 第二种使用隐藏的iframe模拟异步上传.为什么在这里说的是模拟呢?因为我们其实是将返回结果放在了一个隐藏的iframe中,所以才没有使

  • 简述Java异步上传文件的三种方式

    本文为大家分享了三种Java异步上传文件方式,供大家参考,具体内容如下 用第三方控件,如Flash,ActiveX等浏览器插件上传. 使用隐藏的iframe模拟异步上传. 使用XMLHttpRequest2来实现异步上传. 第一种使用浏览器插件上传,需要一定的底层编码功底,在这里我就不讲了,以免误人子弟,提出这点大家可以自行百度. 第二种使用隐藏的iframe模拟异步上传.为什么在这里说的是模拟呢?因为我们其实是将返回结果放在了一个隐藏的iframe中,所以才没有使当前页面跳转,感觉就像是异步操

随机推荐