Как прочитать столбец CLOB в Oracle, используя OleDb? - PullRequest
6 голосов
/ 29 марта 2010

Я создал таблицу в базе данных Oracle 10g со следующей структурой:

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

Я могу без проблем вставить строки в таблицу, но когда я пытаюсь прочитать данные из таблицы, используя соединение OleDb, я получаю исключение.

Вот код, который я использую:

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

Сведения об исключении указывают на неподдерживаемый тип данных:

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

Кто-нибудь знает, как я могу прочитать эти данные, используя соединение OleDb?

PS: Драйвер, используемый в этом случае, является Microsoft.

1 Ответ

5 голосов
/ 29 марта 2010

Я не уверен, что возможно использовать тип CLOB с драйвером Microsoft OLEDB.

Вам нужно использовать Microsoft? Было бы гораздо лучше использовать поставщик Oracle для OLE DB или лучше, но просто использовать поставщик данных Oracle для .NET (ODP.NET).

...