Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ADO - Probleme mit Parameters.Refresh (https://www.delphipraxis.net/72005-ado-probleme-mit-parameters-refresh.html)

jensw_2000 23. Jun 2006 13:53

Datenbank: MSSQL • Version: 2000/2005 • Zugriff über: ADO

ADO - Probleme mit Parameters.Refresh
 
Hi,

ich bekomme spontane "Index out of Bounds" Fehler, wenn ich mit <TADOStoredProc>.Parameters.Refresh die Parameterdaten einer SP hole und die Parameterwerte fülle bzw. auslese.

In meinen Applikationen erstelle ich die SP's generell zur Laufzeit.

Beispiel:
Delphi-Quellcode:
SP:=TAdoStoredProc.create(nil);
try
  SP.Connection:=<MeineAdoConnection>;
  SP.ProcedureName:='SET_Kundendaten';
  SP.Parameters.Refresh; // << läuft auch im Fehlerfall schnell durch, kein Timeout !!
  SP.Parameters[1].Value:=<KundenID>;
  SP.Parameters[2].Value:=<Vorname>;
  SP.Parameters[3].Value:=<Nachmane>;
  SP.Parameters[4].Value:=<irgendwas>;
  SP.ExecProc;
  Rueckgabe:=SP.Parameters[5].Value;
finally
  FreeAndNIl(SP);
end;
ADO scheint spontan Probleme beim Holen der Parameter zu haben, ohne dabei eine Exception auszulösen. Beim Füllen der Parameterwerte "SP.Parameters[x].Value:=" bekomme ich während der Programmnutzung immer mal wieder ein "Index Out of Bounds" um die Ohren.

Das Problem tritt besonders auf, wennn viele Prozesse bzw. Benutzer auf den SQL-Server zugreifen (Serverauslastung im grünen Bereich).

Zur Zeit umschiffe ich das Problem, indem ich nach Parameters.Refresh die Parameteranzahl der SP (SP.Parameters.Count) mit der Anzahl der erwarteten Parameter vergleiche. Falls Differenzen auftreten, dann neu auslesen ...

Hat jemand vor Euch ähnliche Probleme festgestellt oder sind bei meinem D7 Enterprise die ADO Komponenten beschädigt?
Am Betriebssystem (MDAC, ADO) liegt es nicht, weil der Fehler (leider) nicht nur auf meinem Rechner auftritt, sondern auch auf Kundenrechnern mit unterschiedlichsten Konfigurationen.

Was kann ich machen um das Problem zu beheben ? Die Variante mit der Parameterkontrolle nach dem Refresh ist zwar als Notlösung OK, aber auf Dauer nicht wirklich praktikabel.



Schöne Grüße,
Jens
:hi:

jensw_2000 23. Aug 2006 21:53

Re: ADO - Probleme mit Parameters.Refresh
 
*push*
Diese Frage würde ich gern noch einmal rauskramen ...

Schöne Grüße,
Jens
:hi:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz