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 : この場合に使用されるドライバーは Microsoft のものです。

4

1 に答える 1

5

Microsoft OLEDB ドライバーで CLOB 型を使用できるかどうかはわかりません。

マイクロソフトのものを使用する必要がありますか? Oracle Provider for OLE DBを使用するか、 Oracle Data Provider for .NET (ODP.NET)を使用する方がはるかに優れています。

于 2010-03-29T12:32:14.460 に答える