6

我在 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:在这种情况下使用的驱动程序是微软的。

4

1 回答 1

5

我不确定是否可以将 CLOB 类型与 Microsoft OLEDB 驱动程序一起使用。

你必须使用微软的吗?使用Oracle Provider for OLE DB会好得多,或者更好的是只使用Oracle Data Provider for .NET (ODP.NET)。

于 2010-03-29T12:32:14.460 回答