oracle8i和oracle9i客户端对二进制流的处理方式不一样了么?Response.Expires = 0 
Response.Buffer = TRUE 
Response.Clear 
Response.ContentType = "image/gif" 
Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase = OraSession.OpenDatabase("SERVERNAME","uid/pwd", Cint(0))mysql="select PIC  from TB ...."
Set OraDynaset = OraDatabase.DbCreateDynaset(mysql, cint(0))
set PartImage = OraDynaset.Fields("PIC").Value 
amount_read = PartImage.Read(buffer) 
以上语句在oracle8i的客户端下可以正确显示图片,怎么在oracle9i客户端无法显示图片呢?
Response.Binarywrite buffer 
Set OraSession=nothing
Response.End 

解决方案 »

  1.   

    showimg.asp   <%   
        On Error Resume Next
       Response.Expires = 0' Clear out the existing HTTP header information
       Response.Buffer = TRUE
       Response.Clear   
       Response.ContentType = "image/jpg"' Change the HTTP header to reflect that an image is being passed.   Set cn = Server.CreateObject("ADODB.Connection")   
       cn.Open "Provider=OraOLEDB.Oracle;Data Source="&session("ora_sid")&";User ID="&session("ora_user")&";PASSWORD="&session("ora_pwd")&";Persist Security Info=True"   Set txrs = cn.Execute("SELECT 图象数据 FROM "&session("cktx")&" where 公民身份号码='"&session("sfzh")&"'")
       Response.BinaryWrite txrs("图象数据")
     set txrs=nothing
       set cn=nothing
       Response.End   %>
    在其它页面需要的地方写<IMG SRC="SHOWIMG.ASP" width="135" height="160">就行了.
      

  2.   

    真是奇了怪了,跟iis设置有关么?