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.








Répondre avec citation




Partager