我上传了一个word文档到oracle数据库,请问我如何将它下载到本地并打开它呢?请给一示例,谢谢

解决方案 »

  1.   

    web form中形如:
    string sID=this.Request["ID"].ToString();
    string sproc="select * from u_ReceiveFile where ReceiveFileGUID=@ID";
    string strConn=System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"].ToString();
    //string strConn=System.Configuration.ConfigurationSettings.AppSettings["DefaultOleConnString"].ToString();
    SqlConnection conn=new SqlConnection(strConn);
    SqlCommand cmd=new SqlCommand(sproc,conn);
    SqlParameter p0=new SqlParameter("@ID",SqlDbType.VarChar,32);
    p0.Value=sID;
    p0.Direction=ParameterDirection.Input;
    cmd.Parameters.Add(p0);
    try
    {
    DataTable dt=new DataTable();
    if(conn.State!=ConnectionState.Open)
    conn.Open();
    SqlDataAdapter da=new SqlDataAdapter(cmd);
    da.Fill(dt);
    if(dt!=null && dt.Rows.Count==1)
    {
    Page.Response.Clear();
    Page.Response.AddHeader( "Content-Type", "application/octet-stream" ); 
    Page.Response.AddHeader("Content-Disposition", "attachment;filename=" + dt.Rows[0]["LinkFile"].ToString());
    byte[] filecontext=(byte[])dt.Rows[0]["FileContent"];
    Response.OutputStream.Write(filecontext,0,filecontext.Length);
    }
    }
    catch(Exception err)
    {
    return;
    }
    finally
    {
    Page.Response.End();
    if(conn.State!=ConnectionState.Closed)
    conn.Close();
    }
      

  2.   

    把楼上的代码中的SqlConnection之类的替换成oledb的相应东西
      

  3.   

    Dim cnn As New OracleConnection(G_strCnn)
            Dim com As New OracleCommand
            If strParent = Nothing Or strParent = "" Then
                com.CommandText = "Select WJ,WJMC FROM documents WHERE wjlx='" & strchapter & "' And JH='" & strjh & "' And zy='" & strtype & "'"
            Else
                com.CommandText = "Select WJ,WJMC FROM documents WHERE wjlx='" & strchapter & "' And JH='" & strjh & "' And zy='" & strtype & "' And parentnodeid='" & strParent & "'"
            End If
            com.Connection = cnn
            Dim dr As OracleDataReader
            Dim bFile() As Byte
            Try
                cnn.Open()
                dr = com.ExecuteReader
                If dr.Read Then
                    ReDim bFile(dr.GetOracleLob(0).Length)
                    strDiskFileName = Server.MapPath(".") & "\FileCache\" & dr.Item(1)
                    Me.txtFileName.Text = strDiskFileName
                    strHttpFileNameAs = "./FileCache/" & dr.Item(1)
                    dr.GetOracleLob(0).Read(bFile, 0, dr.GetOracleLob(0).Length)
                    Dim oFile As New System.IO.FileStream(strDiskFileName, IO.FileMode.Create)
                    oFile.Write(bFile, 0, bFile.Length)
                    oFile.Flush()
                    oFile.Close()
                Else
                    lblDisplayReport.Text = "请添加相关的报告!"
                End If        Catch ex As Exception
                Response.Write(ex.ToString)
            Finally
                dr.Close()
                dr.Dispose()
                com.Dispose()
                cnn.Close()
                cnn.Dispose()
            End Try
            strFilePath = "files"
            Dim strScript As String
            strScript = "<script language='javascript'>document.frames(""iframereport"").location.href=""" & strHttpFileNameAs & """;</script>"