Einzelnen Beitrag anzeigen

v2afrank

Registriert seit: 9. Mai 2005
Ort: Bocholt
571 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Stored Procedure erwartet Parameter

  Alt 10. Jun 2009, 08:10
Du hast Recht durch meine Versuche sind mir ein paar Fehler unterlaufen (Ich hatte gepostet, als ich dabei war die Funktion umzubauen). Hier ist der Orginalquelltext, der den Fehler erzeugt hat. GetNextTaskStoredProc ist dabei eine Komponente vom Typ TADOStoredProc die ich im Designer gesetzt habe

Delphi-Quellcode:
function TKommunikationsDataModule.GetTask(Bezeichnung: String;
  var Device: Integer; var Number: String;var ID:String): Boolean;
var
 returnvalue:Integer;

begin
  LogMe('GetTask');
  result:=false;
  returnvalue:=0;

  GetNextTaskStoredProc.Parameters.ParamByName('@Id').Value:=vaNull;
  GetNextTaskStoredProc.Parameters.ParamByName('@RETURN_VALUE').Value:=returnvalue;
  GetNextTaskStoredProc.Parameters.ParamByName('@Bezeichnung').Value:=Bezeichnung;

  try
    GetNextTaskStoredProc.ExecProc;
    Device:=GetNextTaskStoredProc.Parameters.ParamByName('@Device').Value;
    Number:=GetNextTaskStoredProc.Parameters.ParamByName('@Number').Value;
    ID:=GetNextTaskStoredProc.Parameters.ParamByName('@Id').Value;
    Result:=true;
  except
    on E:exception do
     begin
      LogMe('GetTask'+e.Message);
      if e is EOleException then
       begin
        Watchdogdatamodule.Reconnect;
       end
      else
       begin
        if isWordInParameter('debug') then
         Infomemo.Lines.Add(e.Message);
       end;
     end;
  end;
 LogMe('Ende GetTask');
 end;
Interessant ist wahrscheinlich auch die Funktion Reconnect. Diese will ich aufrufen wenn der SQL Server mal nicht zur Verfügung steht.
Delphi-Quellcode:
procedure Reconnect;
begin
 try
   ADOConnection1.Connected:=false;
   Application.ProcessMessages;
   ADOConnection1.Open;
 except
  on exception do;
 end;
end;
Auf den Quellcode der SP habe ich momentan keinen Zugriff, da dieser von extern programmiert worden ist. Es ist aber so wie ich im Eingangspost beschrieben habe, dass die Funktion mehrere Stunden durchläuft, und dann den Fehler erzeugt. Interessant wäre wahrscheinlich auch, ob die Reconnectfunktion vor dem ersten Fehler durchlaufen wird. Kann diese etwas böses machen ?
  Mit Zitat antworten Zitat