2010-03-29 21 views
6

Ho creato una tabella in un database Oracle 10g con questa struttura:Come leggere una colonna CLOB in Oracle usando OleDb?

create table myTable 
(
id  number(32,0)  primary key, 
myData clob 
) 

posso inserire le righe della tabella senza alcun problema, ma quando provo a leggere i dati dalla tabella utilizzando la connessione OleDb, ottengo un'eccezione.

ecco il codice che uso:

using (OleDbConnection dbConnection = new OleDbConnection("ConnectionString")) 
{ 
    dbConnection.Open(); 

    OleDbCommand dbCommand = dbConnection.CreateCommand(); 

    dbCommand.CommandText = "SELECT * FROM myTable WHERE id=?"; 
    dbCommand.Parameters.AddWithValue("ID", id); 

    OleDbDataReader dbReader = dbCommand.ExecuteReader(); 
} 

L'eccezione dettagli sembra puntare su un tipo di dati non supportato:

System.Data.OleDb.OleDbException: 
Unspecified error Oracle error occurred, but error message could not be retrieved from Oracle. 
Data type is not supported. 

Qualcuno sa come posso leggere questi dati utilizzando la connessione OleDb ?

PS: il driver utilizzato in questo caso è Microsoft.

risposta

5

Non sono sicuro che sia possibile utilizzare il tipo CLOB con il driver OLEDB di Microsoft.

Devi utilizzare quello Microsoft? Sarebbe molto meglio usare Oracle Provider for OLE DB o meglio ancora usare solo Oracle Data Provider for .NET (ODP.NET).

+0

Sono stato in grado di leggere i dati utilizzando il driver Oracle ODP.NET, ma l'applicazione esistente utilizza OleDb per ogni connessione. La modifica del driver predefinito richiederebbe una certa migrazione del codice e l'installazione di ODP.NET sui client. Ecco perché preferirei attaccare al driver OleDb. –

+1

Non so se questo articolo di Microsft KB (http://support.microsoft.com/kb/244661) si applica ancora, ma dice 'Tipi di dati specifici per Oracle 8.x, come CLOB, BLOB, BFILE, NCHAR, NCLOB e NVARCHAR2, non sono supportati '. Se lo fa, penso che sei sfortunato :( –

+0

Inoltre, dai un'occhiata a questo se non l'hai già fatto: http://groups.google.co.uk/group/borland.public.delphi.database .ado/browse_thread/thread/47674ad1a1e8ec75/228f9b4a22f5c9a5 –

Problemi correlati