在ASP中,不需要Oracle对象f的情况下,读取该字段的值。
所以,我们在PB中使用f1,把报表中的excel格式存储在oracle数据库中,我们开始用一个长的原始字段存储excel对象,然后放入几个小excel文件,做测试程序,可以读出excel长的RAW,大对象然后字段,在ASP excel格式中显示excel文件。
因为测试程序是成功的。所以我们开始在Excel文件格式,然后用测试,错误的错误是在处理数据类型的结尾,两天苦思明,查了很多资料,没有找到原因,后来我就想,如果我们把桌子调整,Excel对象领域中长型,然后你把长到长排型、试验程序如下:
昏暗的控制室
昏暗的strconn
昏暗的RS
sql
设置conn = server.createobject(数据连接)
strconn == {微软ODBC驱动程序为Oracle };服务器=算法先;UID = custometable;pwd= custometable;
康涅狄格州开strconn
SQL =选择从哪里blob_excel sttb_databldinfo v_databldid = ' 0000000 1 '
集= conn.execute(SQL)
响应=缓冲区=真
response.contenttype =应用/越南盾。MS Excel
的response.write RS(blob_excel )'blob_excel字段是一个Excel文件
关闭
设置=无
conn.close
设置conn =没有
%>
然后放入一个非常小的excel测试,测试再次成功!
有几个非常大的Excel,而测试又错了!
满足最后处理的数据类型!
这是什么原因是不是太大了,我们不能保存excel
我在测试程序中添加了以下几行:
设置字段= RS(blob_excel )
field.actualsize FieldSize =
response.write射野:射野
response.end
试验表明,当Excel存储在它更小,FieldSize输出的实际大小,但当Excel较大,输出射野4。
最后找出原因,然后修改程序,这就是它是什么,如下所示:
昏暗的控制室
昏暗的strconn
昏暗的RS
sql
设置conn = server.createobject(数据连接)
strconn == {微软ODBC驱动程序为Oracle };服务器=算法先;UID = custometable;pwd= custometable;
康涅狄格州开strconn
SQL =选择从哪里blob_excel sttb_databldinfo v_databldid = ' 0000000 1 '
集= conn.execute(SQL)
尺寸= 32765
我= 0
设置字段= RS(blob_excel )
field.actualsize FieldSize =
response.write尺寸:射野
response.end
昏暗的s_stream
做
读一个领域的rs Recordset对象的dbgetchunk方法循环数据
文本= rs.fields(blob_excel)。GetChunk(大小)
response.binarywrite文本
找出每次取出数据的字节数。
text_size = lenb(文本)
i = i + 1
如果字节数小于每次完成数据时要定义的拦截字节的大小,则它是不在循环中的。
Loop until text_size
响应=缓冲区=真
response.contenttype =应用/越南盾。MS Excel
关闭
设置=无
conn.close
设置conn =没有
%>
这样Excel就可以正常显示了。
摘要如下:
使用ADO数据库连接,必须使用长原场显示Excel中大对象的网页,并通过循环读取大对象。
这一点同样适用于字段,但有一点需要注意:将Oracle数据库与ADO连接起来,不支持这个数据池,也不要打开一个记录集,该记录集包含。
有必要使用OO4O连接Oracle数据库的BLOB存取。方法是一样的。