2010-03-29 35 views
6

Bu yapıya sahip bir Oracle 10g veritabanı üzerinde bir tablo oluşturdum:OleDb kullanarak Oracle'da CLOB sütun nasıl okunur?

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

Tabloda satırları problemsiz girebiliyorum ama OleDb bağlantısı kullanarak tablodan veri okumaya çalıştığımda bir istisna.

Kullandığım kod:

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(); 
} 

Özel durum ayrıntıları desteklenmeyen bir veri tipine işaret ediyor gibi görünüyor:

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

Bu veriyi OleDb bağlantısını kullanarak nasıl okuyabileceğimi bilen var mı ?

PS: Bu durumda kullanılan sürücü Microsoft.

cevap

5

Microsoft OLEDB sürücüsü ile CLOB türünü kullanmanın mümkün olmadığından emin değilim.

Microsoft'u kullanmak zorunda mısınız? Oracle Provider for OLE DB veya daha iyisini kullanmak daha iyi olurdu, sadece Oracle Data Provider for .NET (ODP.NET) kullanın.

+0

Oracle ODP.NET sürücüsünü kullanarak verileri okuyabiliyorum, ancak mevcut uygulama her bağlantı için OleDb kullanıyor. Varsayılan sürücüyü değiştirmek, bazı kod geçişlerine ve istemcilere ODP.NET yüklemeye ihtiyaç duyacaktır. Bu yüzden OleDb sürücüsüne yapışmayı tercih ederim. –

+1

Bu Microsft KB makalesinin (http://support.microsoft.com/kb/244661) hala geçerli olup olmadığını bilmiyorum, ancak 'CLOB, BLOB, BFILE gibi Oracle 8.x'e özgü veri türleri NCHAR, NCLOB ve NVARCHAR2, desteklenmiyor '. Eğer yaparsa, şansınız bitti :( –

+0

Ayrıca, henüz yapmadıysanız, şu adrese bir göz atın: http://groups.google.co.uk/group/borland.public.delphi.database .ado/browse_thread/thread/47674ad1a1e8ec75/228f9b4a22f5c9a5 –

İlgili konular