AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Fehlermeldung bei Aufruf einer Stored Procedure
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlermeldung bei Aufruf einer Stored Procedure

Ein Thema von Gimli2 · begonnen am 7. Sep 2005 · letzter Beitrag vom 7. Sep 2005
Antwort Antwort
Gimli2

Registriert seit: 19. Aug 2005
12 Beiträge
 
#1

Fehlermeldung bei Aufruf einer Stored Procedure

  Alt 7. Sep 2005, 13:41
Datenbank: Oracle • Version: 9i • Zugriff über: Direct Oracle Access
Hallo,

ich habe ein Problem beim Ausführen von Stored Procedures (Package) in einer Oracle 9i DB.
Die Klasse mit den Stored Procedures Definitionen ist "pack". Diese wurde mit dem Package Assistent von "Direct Oracle Access" erstellt..
Wenn alles ohne Fehlermeldung abläuft, geht alles wunderbar.
Aber sobald eine Procedure aus dem PAckage eine Fehlermeldung erzeugt (Variablen: error,sql),
wird die Fehlermeldung bei der Ausführung jeder anderen Stored Procedure auch angezeigt obwohl die Procedure ohne Fehler durchläuft.
Wenn ich das Programm neu starte dann funktioniert wieder alles, solange bis wieder eine Fehlermeldung kommt.
Muss ich nach jedem Aufruf einer Stored Procedure wieder etwas freigeben, oder woran könnte es liegen?

Steffen


Delphi-Quellcode:
procedure TForm1.fill_grid;
var
 sql,error : double;
 count : integer;
begin
  if (count >= 1) then
    mOracleDataSet.Close;

  DBGrid1.Columns.Clear;
  pack.Session := mOracleLogon.Session;
  mOracleDataSet.Session := mOracleLogon.Session;

  mDataSource.DataSet := mOracleDataSet;

  pack.Pr_Get_Partitions(mQuery,error,sql);

  if (error = -1) then
  begin
    MessageDlg('SQL-Fehler ' + FloatToStr(sql) + ' beim auslesen der Partitionen aufgetreten.',mtError,[mbOK],0);
    exit;
  end
  else if ((error <> 0) and (error <> -1)) then
  begin
    MessageDlg('Fehlernr ' + FloatToStr(error) + ' beim auslesen der Partitionen aufgetreten.',mtError,[mbOK],0);
    exit;
  end;

  mOracleDataSet.ExternalCursor := mQuery;
  mOracleDataSet.Open;
...
  Mit Zitat antworten Zitat
dfried

Registriert seit: 16. Aug 2005
486 Beiträge
 
#2

Re: Fehlermeldung bei Aufruf einer Stored Procedure

  Alt 7. Sep 2005, 13:47
Wird denn "error" in deiner StoredProcedure auch auf "0" gesetzt? Oder wird es evtl.nur gesetzt wenn ein Fehler auftritt?
  Mit Zitat antworten Zitat
Gimli2

Registriert seit: 19. Aug 2005
12 Beiträge
 
#3

Re: Fehlermeldung bei Aufruf einer Stored Procedure

  Alt 7. Sep 2005, 15:09
Die Proceduren sind alle Bestandteil eines Packages.
Die Variablen error und SQL sind Out-Variablen der entsprechenden Proceduren die in der Package Spezifikation beide auf 0 gesetzt werden.
Also müssten sie meiner Meinung nach bei jedem erneuten Aufruf wieder auf 0 gesetzt werden oder?
  Mit Zitat antworten Zitat
dfried

Registriert seit: 16. Aug 2005
486 Beiträge
 
#4

Re: Fehlermeldung bei Aufruf einer Stored Procedure

  Alt 7. Sep 2005, 15:29
Sind die dort Global definiert?
Wenn ja, dann werden die nur einmal initialisiert bei der ersten Benutzung des Packages innerhalb einer Session. Soll heissen, wenn du keine neue Session machst sondern immer die gleiche Session verwendest werden die nicht wieder neu initialisiert, obwohl du mehrmals eine Funktion aus dem Package aufrufst.
  Mit Zitat antworten Zitat
Gimli2

Registriert seit: 19. Aug 2005
12 Beiträge
 
#5

Re: Fehlermeldung bei Aufruf einer Stored Procedure

  Alt 7. Sep 2005, 16:37
Ah, ok.
Danke, daran lag es.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:38 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