📄 subject_51820.htm
字号:
<p>
序号:51820 发表者:明锋 发表日期:2003-09-04 16:37:25
<br>主题:请问网站新闻内容超过4000个字节采用哪种类型作为数据库表的字段?
<br>内容:我现在采用Oracle9.0、Jsp开发一个政府网站,新闻的内容一般字节超过4000个字节,同时还有一定的格式,采用varchar(4000)已经不够使用,同时还要对其进行格式转化。<BR>请问高手新闻内容这个字段采用哪种类型?同时在jsp又采用rs的什么方法取得该字段的内容?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:管理员 回复日期:2003-09-04 18:16:57
<br>内容:text,image
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:mingfeng 回复日期:2003-09-05 09:36:38
<br>内容:oracle中根本就没有text和image类型<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:guopeng 回复日期:2003-09-05 11:26:18
<br>内容:可以考虑使用大对象 clob
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:投河自尽的鱼 回复日期:2003-09-05 14:52:11
<br>内容:long 可变长字符列,最大长度限制是2GB<BR>当然也可考虑用大对象类型
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:bbsmaster 回复日期:2003-11-12 11:25:04
<br>内容:Oracle大文本在ASP中存取问题的解决 <BR><BR>--------------------------------------------------------------------------------<BR> <BR>发表日期:2003年4月21日 已经有243位读者读过此文 <BR> <BR><BR>在我开发BS结构程序中,由于经常需要在ORACLE中处理一些容量较大的文本数据,所以经过反复测试终<BR><BR>于用ASP成功解决了大文本数据在ORACLE下存取问题。<BR> <BR> 一、运行环境:<BR> 1、Microsoft Windows 2000 Server + IIS 5.0<BR>2、Oracle8i中文标准版<BR> <BR> 二、建立数据表:<BR> CREATE TABLE SYSTEM.TEST(<BR>BLOB LONG,<BR>ID NUMBER)<BR>/<BR><BR> 三、源程序:<BR>1、数据存入程序:test.asp<BR><BR><%<BR>'表单提交处理部分<BR>'--------------------------------------------------<BR><BR>If request("ok")=1 then<BR><BR>'字符转换函数<BR>function tansstr(sstr) <BR>sstr=replace(sstr," ","&nbsp;")<BR>sstr=replace(sstr,chr(13) & chr(10),"<br>")<BR>tansstr=sstr<BR>end function<BR><BR>'提交数据赋值<BR>a=lenb(request("text"))<BR>b=len(request("text"))<BR>c=tansstr(request("text"))<BR><BR>'打开数据库,打开test数据表以Rs为记录集<BR>Set OraSession=CreateObject("OracleInProcServer.XOraSession")<BR>Set OraDatabase=OraSession.DbOpenDatabase("autop","system/manager",0)<BR>Set rs=OraDatabase.CreateDynaset("select * from test order by id desc",0) <BR><BR>'求ID值<BR>if rs.eof then<BR>id=1<BR>else<BR>id=rs("id")+1<BR>end if<BR><BR>'因为受SQL语句长度大小限制所以,以非SQL语句存入数据<BR>'--------------------------------------------------------<BR><BR>'新建记录<BR>rs.DbAddNew<BR><BR>'经典就在本句:以RS记录集的Fields对象的DbAppendChunk方法处理大字段存入问题。<BR>rs.Fields("blob").DbAppendChunk(c)<BR><BR>'存入ID值<BR>rs("id")=id<BR><BR>'刷新记录集<BR>rs.DbUpdate<BR><BR><BR>'显示结果部分<BR>'--------------------------------------------------------- <BR>Response.write "数据已经存入数据库中。<br>"<BR>Response.write "总计占用字符数: <font color=blue>" & formatnumber(b,2,-2,-2,-1) & "</font> <BR><BR>字<br>"<BR>Response.write "总计占用字节数: <font color=blue>" & formatnumber(a,2,-2,-2,-1) & "</font> <BR><BR>Byte<br>"<BR>Response.write "<a href='view.asp'>请调阅……</a>"<BR><BR>'关闭数据连接。<BR>rs.close<BR>set rs=nothing<BR>Set OraSession=nothing<BR>Response.end<BR>End If<BR>%><BR><html><BR><body><BR><form method="POST" action="test.asp"><BR><p><font color="#FF0000"><b>Oracle大字段在ASP中存取问题的解决:</b></font></p><BR><p><textarea rows="13" name="text" cols="104"></textarea></p><BR><p><input type="submit" value="存入" name="B1"></p><BR><input type="hidden" name="ok" value="1"><BR></form><BR></body><BR></html><BR><BR><BR> 2、数据调出程序:view.asp<BR><%<BR><BR>'连接数据库,以只读方式打开数据表<BR>Set OraSession=CreateObject("OracleInProcServer.XOraSession")<BR>Set OraDatabase=OraSession.DbOpenDatabase("autop","system/manager",0)<BR>Set Rs=OraDatabase.DbCreateDynaset("select * from test order by id desc",4)<BR><BR>'赋初值:定义每次截取字节大小为1024byte,最大可以设为65280byte (64K)<BR>Size=65280<BR>I=0<BR><BR>Do<BR>'以Rs记录集的Fields对象的DbGetChunk方法在循环中读出数据<BR>Text=Rs.Fields("Blob").DbGetChunk(I*Size,Size)<BR><BR>Response.write Text<BR><BR>'求出每次取出数据的详细字节数<BR>Text_Size=Lenb(Text)<BR><BR>I=I+1<BR><BR>'如果每次取出数据的详细字节数小于欲定义的截取字节大小则说明该条数据已经完毕,退出循环。 <BR>Loop until Text_Size<Size<BR><BR>'关闭数据连接<BR>Set OraSession=nothing<BR><BR>%><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -