存储过程不能返回blob/clob,bfile

解决方案 »

  1.   


    oracle存储过程可以返回游标。
      

  2.   

    1.返回REF CUR的例子
    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim connString As New String("Data Source=Oracle8i;Integrated Security=yes")
        Dim conn As New OracleConnection(connString)
        conn.Open()
        Dim cmd As New OracleCommand()
        cmd.Connection = conn
        cmd.CommandText = "CURSPKG.OPEN_ONE_CURSOR"
        cmd.CommandType = CommandType.StoredProcedure
        cmd.Parameters.Add(New OracleParameter("N_EMPNO", OracleType.Number)).Value = 7369
        cmd.Parameters.Add(New OracleParameter("IO_CURSOR", OracleType.Cursor)).Direction = ParameterDirection.Output
        Dim rdr As OracleDataReader
        rdr = cmd.ExecuteReader()
        While (rdr.Read())
            REM do something with the values
        End While
        rdr.Close()
        conn.Close()
    End Sub2.不知道,也许oracledataadapter的fill方法可以3.用OracleDataReader.GetOracleLob方法应该可以4.用OracleDataReader.GetOracleBFile方法只有第一个用过,后面的几个没有用过,搂主可以试试
      

  3.   


    How To Pass a BLOB as a Parameter to an Oracle Package by Using the .NET Managed Provider for Oracle
    http://support.microsoft.com/default.aspx?scid=kb;en-us;Q322796Read / Write BLOBs from / to Oracle 
    using C# .NET DataSet and DataReader
    http://www.akadia.com/services/dotnet_orablobs.html
      

  4.   

    谢谢各位
    那BFile怎么操作呢?