Question

J'ai créé une table sur une base de données Oracle 10g avec cette structure:

create table myTable
(
id       number(32,0)      primary key,
myData   clob
)

Je peux insérer des lignes dans la table sans aucun problème, mais lorsque je tente de lire les données de la table en utilisant la connexion OleDb, je reçois une exception.

est le code que j'utilise ici:

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();
}

Les détails de l'exception semble indiquer sur un type de données non pris en charge:

System.Data.OleDb.OleDbException: 
Unspecified error Oracle error occurred, but error message could not be retrieved from Oracle. 
Data type is not supported.

Est-ce que quelqu'un sait comment je peux lire ces données en utilisant la connexion OleDb?

PS: Le conducteur utilisé dans ce cas est celui de Microsoft

.
Était-ce utile?

La solution

Je ne suis pas sûr qu'il est possible d'utiliser le type CLOB avec le pilote Microsoft OLEDB.

Avez-vous d'utiliser celui de Microsoft? Vous seriez bien mieux d'utiliser le Fournisseur Oracle pour OLE DB ou mieux encore il suffit d'utiliser Oracle Data Provider for .NET (ODP.NET).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top