Bonjour,

Mon appli a été développée en .net 2002, et initialement en DB2. Je suis en train de l'adapter pour oracle.

Voila mon script :


public static DataSet GetDataSetFromSqlString(string p_sqlString)
{
try
{
return ExecuteDatasetWoTimeout(p_sqlString, null, CommandType.Text);
}
catch(Exception E )
{
Diagnostics.TraceManager.WriteError (E.Message );
throw E;
}

}



private static DataSet ExecuteDatasetWoTimeout (string p_StoreProcName, OleDbParameter[] p_Params, CommandType p_type)
{

DataSet v_ds = new DataSet();
OleDbConnection v_conn = new OleDbConnection(ConnectionString);
System.Data.OleDb.OleDbCommand v_sp = new OleDbCommand(p_StoreProcName, v_conn);
v_sp.CommandType = p_type;
v_sp.CommandTimeout = 0;

if (p_Params != null)
{
foreach (OleDbParameter v_param in p_Params)
{
v_sp.Parameters.Add(v_param.ParameterName, v_param.Value);
}//foreach
}//if

v_conn.Open();

OleDbDataAdapter v_adapt = new OleDbDataAdapter();

if (v_conn.State == ConnectionState.Open)
{
v_adapt.SelectCommand = v_sp;
v_adapt.Fill(v_ds);
v_conn.Close();
}

return v_ds;
}


+ La connexion s'effectue bien
+ Dans "string p_StoreProcName", il y a une requete SQL, qui fonctionne correctement quand je l'execute directement dans sqlplus
+ Le code "v_adapt.Fill(v_ds);" envoie directement au catch exception avec comme message :

"Erreur non spécifiée
Erreur Oracle, message non disponible.
Ce type de données n'est pas pris en charge.



Si vous avez une solution, je vous en serai reconnaissante.

K.