Problem mit oracle LONG RAW und ADO.NET

10/09/2007 - 17:21 von Bruno Polder | Report spam
Hallo,

ich habe ein Problem beim Auslesen von LONG RAW Feldern aus meiner
Oracle DB.
Hier der Code:

Public Function getInvoicePDF(ByVal invoiceNumber As String) As Byte()
Dim sql As String = "select pdf_blob from ..."

Dim blob As OracleBinary, b() As Byte = Nothing

Dim cmd As New OracleCommand(sql, getDB.Connection)

Dim dr As OracleDataReader = cmd.ExecuteReader

If dr.Read Then

blob = dr.GetOracleBinary(0)
b = blob.Value
dr.Close()
End If

Return b
End Function

Leider hat blob.Value immer die Lànge 0, obwohl Daten vorhanden sind
(Das selbe SQL-Statement in VB6 liefert mir die Daten).
Was mache ich falsch?

Vielen Dank schonmal
Bruno
 

Lesen sie die antworten

#1 Oliver Denter
10/09/2007 - 20:56 | Warnen spam
Bruno Polder schrieb:
Hallo,

ich habe ein Problem beim Auslesen von LONG RAW Feldern aus meiner
Oracle DB.
Hier der Code:

Public Function getInvoicePDF(ByVal invoiceNumber As String) As Byte()
Dim sql As String = "select pdf_blob from ..."

Dim blob As OracleBinary, b() As Byte = Nothing

Dim cmd As New OracleCommand(sql, getDB.Connection)

Dim dr As OracleDataReader = cmd.ExecuteReader

If dr.Read Then

blob = dr.GetOracleBinary(0)
b = blob.Value
dr.Close()
End If

Return b
End Function

Leider hat blob.Value immer die Lànge 0, obwohl Daten vorhanden sind
(Das selbe SQL-Statement in VB6 liefert mir die Daten).
Was mache ich falsch?

Vielen Dank schonmal
Bruno



Hi,
probier mal statt OracleBinary OracleLob und dann dr.GetOracleLob(0)

OD

Ähnliche fragen