.net – 如何使用OleDb读取Oracle中的CLOB列?

前端之家收集整理的这篇文章主要介绍了.net – 如何使用OleDb读取Oracle中的CLOB列?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在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驱动程序一起使用.

你必须使用微软吗?
你会更好地使用Oracle Provider for OLE DB或更好,但只使用Oracle Data Provider for .NET(ODP.NET).

猜你在找的Oracle相关文章