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.
Partager