如何处理Oracle中较大的文本数据?
来源:asp之家 发布时间:2009-11-11 20:06:00
请问如何处理Oracle中较大的文本数据?
我们可在ASP中予以解决,如在Oracle8i中文版中,建立数据表:
CREATE TABLE SYSTEM.TEST(
BLOB LONG,
ID NUMBER)
/
date.asp
' 存入数据
<%
' 表单提交处理部分
If request("ok")=1 then
function tansstr(sstr)
sstr=replace(sstr," "," ")
sstr=replace(sstr,chr(13) & chr(10),"<br>")
tansstr=sstr
end function
' 字符转换函数
a=lenb(request("text"))
b=len(request("text"))
c=tansstr(request("text"))
' 提交数据赋值
Set OraSession=CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase=OraSession.DbOpenDatabase("autop","system/manager",0)
Set rs=OraDatabase.CreateDynaset("select * from date order by id desc",0)
' 打开数据库date表以rs为记录集
if rs.eof then
id=1
' 求ID值
else
id=rs("id")+1
end if
' 受SQL语句长度限制,以非SQL语句存入数据
rs.DbAddNew
' 新建记录
rs.Fields("blob").DbAppendChunk(c)
' 用rs记录集的Fields对象的DbAppendChunk方法处理大字段存入.这是关键哦
rs("id")=id
' 存入ID值
rs.DbUpdate
' 刷新记录集
' 显示结果部分
Response.write "恭喜,数据已成功存入数据库中!<br>"
Response.write "总计占用字符数:<font color=blue>" & formatnumber(b,2,-2,-2,-1) & "</font> 字节<br>"
Response.write "<a href='view.asp'>调出数据</a>"
rs.close
set rs=nothing
Set OraSession=nothing
' 关闭数据连接。
Response.end
End If
%>
<html>
<body>
<form method="POST" action="date.asp">
<p><font><b>精彩春风之Oracle数据存储</b></font></p>
<p><textarea rows="13" name="text" cols="104"></textarea></p>
<p><input type="submit" value="存入" name="B1"></p>
<input type="hidden" name="ok" value="1">
</form>
</body>
</html>
view.asp
' 数据调出程序:
<%
Set OraSession=CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase=OraSession.DbOpenDatabase("autop","system/manager",0)
Set Rs=OraDatabase.DbCreateDynaset("select * from date order by id desc",4)
' 连接数并以只读方式打开数据表
Size=65280
' 赋初始值.定义每次截取字节大小为1024byte,最大可以设为65280byte(64K)
I=0
Do
Text=Rs.Fields("Blob").DbGetChunk(I*Size,Size)
' 以rs记录集的Fields对象的DbGetChunk方法在循环中读出数据
Response.write Text
Text_Size=Lenb(Text)
' 算出每次取出数据的详细字节数
I=I+1
Loop until Text_Size<Size
' 如果每次取出数据的字节数小于定义的截取字节,则说明该数据已经完毕,退出循环
Set OraSession=nothing
' 关闭数据连接
%>


猜你喜欢
- 取行和列的几种常用方式:data[ 列名 ]: 取单列或多列,不能用连续方式取,也不能用于取行。data.列名: 只用于取单列,不能用于行。
- 这里介绍几个常用的列表操作添加元素添加元素使用列表的内置方法appendnumber = [1, 2, 3, 4]number.append
- 一、绘制折线图import seaborn as snsimport numpy as npimport pandas as pdimpor
- 1.最小开发框架代码import sys import pygamepygame.init() size=w,h = (
- 在本章中,您将详细了解Python中各种加密模块.加密模块它包含所有配方和基元,并在Python中提供高级编码接口.您可以使用以下命令安装加
- 本篇博客介绍如何使用Python调用百度地图WEB服务API获取地点对应坐标值,现有一系列结构化地址数据(如:北京市海淀区上地十街十号),目
- 比如如下的html他是在span标签下的class为name,id为is-like-span这样就可以通过这样的代码进行方法:isClike
- v-model 最好用的就是配合 data 達成 Two-way Binding,但若使用 Vuex 之後,是否還能使用 v-model 搭
- 使用索引获取列表的元素(随机读取)列表元素支持用索引访问,正向索引从0开始colors=["red","blu
- #!/usr/bin/env python# -*- coding:utf-8 -*-# *************************
- 本文实例讲述了SQL Server存储过程中编写事务处理的方法。分享给大家供大家参考,具体如下:SQL Server中数据库事务处理是相当有
- 起步利用 html5 的 <video> 标签可以播放:<video width="320" heig
- 问题描述由于之前在安装VSCODE的时候,没注意详细阅读提示,而且第一次安装比较随意,只是带着想试一下VSCODE才安装的,所以安装的时候漏
- use mysql; u
- 要实现div的任意拖动,我们不妨分析一下整个过程。 当鼠标点击div时,触发一个事件,让div的位置属性(left,top)随着鼠标位置变化
- 1. 引入mybatis-plus相关包,pom.xml文件2. 配置文件application.property增加多库配置mysql 数
- 类:在HTML中当表现class属性的时候,人们可以用点(.)号来作为~=号的一个替代选择,所以div.value等同于div[class~
- 本文实例为大家分享了js实现计算器功能的具体代码,供大家参考,具体内容如下在老师的带领下完成了这个简单的计算器,这是一个神奇的过程,计算器的
- 写在前面对于经常需要开发企业管理后台的前端开发来说,必不可少的需要使用表格对于数据进行操作,在对于现有项目进行代码优化时,封装一些公共的Ho
- 一、word转pdf先安装win32库:pip install pywin32from win32com.client import gen