Ich habe eine SqlDataAdapter, die mit 21 Zeilen von Daten (4 Spalten) gefüllt wird. Der Sproc, der es antreibt, kehrt in SQL Mgmt Studio in ein paar Sekunden zurück, aber das .Fill() dauert 5 Minuten.SqlDataAdapter.Fill() Timeout - zugrunde liegenden Sproc zurückgegeben schnell
ArrayList ret = new ArrayList();
SqlDataAdapter da = null;
SqlCommand cmd = null;
cmd = base.GetStoredProc("usp_dsp_Stuff"); //Returns immediately in MSSMS.
cmd.CommandTimeout = 3600; // Set to 6 min - debug only
base.AddParameter(ref cmd, "@Param1", ParameterDirection.Input, SqlDbType.BigInt, 8, 19, 0, theParam1);
base.AddParameter(ref cmd, "@Param2", ParameterDirection.Input, SqlDbType.BigInt, 8, 19, 0, theParam2);
base.AddParameter(ref cmd, "@Param3", ParameterDirection.Input, SqlDbType.Char, 1, 'C');
da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt); //Takes 5 minutes.
Irgendwelche Ideen?
Vielen Dank im Voraus! -Chris
das auch für mich gearbeitet, ich war aus noch eine Zeit bekommen nach 10 Sätze aus der Tabelle bewertet Funktion ziehen. – Sergey
Ich hatte das gleiche Problem beim Ausführen einer Abfrage, aber die Verwendung von "WITH (NOLOCK)" hat nicht geholfen. Das Hinzufügen von "OPTION (RECOMPILE)" am Ende meiner Abfrage behebt das Problem. – sharpguru