Я составил таблицу на базе данных 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 один.
Я не уверен, что можно использовать тип CLOB с драйвером Microsoft OLEDB.
Вам нужно использовать Microsoft? Было бы гораздо лучше использовать Oracle Provider для OLE DB или, еще лучше, просто использовать Oracle Data Provider для .NET. (ODP.NET).