Как прочитать столбец CLOB в использовании Oracle OleDb?

Я составил таблицу на базе данных 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 один.

6
задан Thibault Falise 29 March 2010 в 11:56
поделиться

1 ответ

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

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

5
ответ дан 17 December 2019 в 04:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: