Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi BDE Stored Procedure (https://www.delphipraxis.net/9615-bde-stored-procedure.html)

tazmania 30. Sep 2003 10:24


BDE Stored Procedure
 
Hallo Delphi Freunde

Ich stehe vor einem kleinen Problem, denke ich :wall:

Ich möchte eine STORED PROCEDURE unter BDE ausführen.
Nach Buch muss ich folgendes eingeben..

Datamodule1.Query13.SQL.Clear;
Datamodule1.Query13.SQL.Add('EXECUTE PROCEDURE TSW_RESTRICT_SESSION ("enable")');
Datamodule1.Query13.ExecSQL;


Ich erhalte immer eine Fehlermeldung von Oracle ORA-00900 invslid SQL-statement.

Kann mir da jemand helfen?
Ich bin dankbar für jeden Hinweis....

MrSpock 30. Sep 2003 11:58

Re: BDE Stored Procedure
 
Hallo tazmania,

zunächst einmal herzlich willkommen im Delphi-PRAXIS Forum.

Ich habe zwar noch nicht mit Oracle gearbeitet, aber bei INTERBASE könnte der Fehler dadurch kommen, dass im Dialect 3 für Strings nur noch einzelne Anführungsstriche verwendet werden dürfen. Teste das doch einmal bei dir.

tazmania 30. Sep 2003 12:43

Re: BDE Stored Procedure
 
Herzlichen Dank für die Begrüssung :-D

Nun dass dachte ich auch und habe dies auch schon versucht, aber ohne Erfolg.
Das Ergebnis bleigt das Selbe.
Nun ich arbeite mit Delphi 6 und das Buch ist von Delphi 5, jedoch denke ich nicht dass dies einen Unterschied macht.

MrSpock 30. Sep 2003 18:48

Re: BDE Stored Procedure
 
Hallo tazmania,

hast du einmal versucht, den SQL String direkt in Oracle zu benutzen?
Gibt esvielleicht ein Problem mit Zugriffsrechten? (Insbesondere, wenn es sich um eine Systemtabelle handelt, kannst du wohl nur als Admin darauf zugreifen.)

Leuselator 1. Okt 2003 03:59

Re: BDE Stored Procedure
 
Kenne Oracle nicht, aber MS-SQL. Dort wird Procedure erzeugt mit
SQL-Code:
create procedure Name (Parameterliste)
as
begin
end
Die ParameterListe wird also auch geklammert. In Delphi ruft man das aber ohne die KLlammern auf:

Delphi-Quellcode:
Query.SQL.Add('EXECUTE PROCEDURE PROZEDURNAME ''enable''');
Wenn Oracle ähnlich gestrickt ist, könnte das die Lösung sein
Gruß

r_kerber 1. Okt 2003 06:44

Re: BDE Stored Procedure
 
Hallo Tasmania,

warum benutzt Du für die Stored Procedure nicht ein TStoredProc-Objekt. Die sind doch genau dafür gemacht?

Leuselator 1. Okt 2003 06:46

Re: BDE Stored Procedure
 
@r_kerber: recht haste, jedoch (soweit ich weis) nur, wenn die StoredProcedure keine Ergebnismenge zurückliefern soll (was in diesem Fall aber nicht der Fall zu sein scheint)

r_kerber 1. Okt 2003 07:11

Re: BDE Stored Procedure
 
Zitat:

Zitat von Leuselator
jedoch (soweit ich weis) nur, wenn die StoredProcedure keine Ergebnismenge zurückliefern soll

Aus der OH:
Zitat:

Abhängig von der Server-Implementation kann eine Stored Procedure entweder einzelne Werte oder eine Ergebnismenge zurückgeben, ähnlich der von einer Abfrage zurückgegebenen Menge.

tazmania 1. Okt 2003 08:16

Re: BDE Stored Procedure
 
Zitat:

Zitat von MrSpock
Hallo tazmania,

hast du einmal versucht, den SQL String direkt in Oracle zu benutzen?
Gibt esvielleicht ein Problem mit Zugriffsrechten? (Insbesondere, wenn es sich um eine Systemtabelle handelt, kannst du wohl nur als Admin darauf zugreifen.)

Hallo MrSpock
Ich benutze den gleichen user wie ich auch mit SQL Plus benutze und in SQL Plus ist der
Aufruf:
exec TSW_RESTRICT_SESSION.enable
und dies funktioniert ohne Probleme

tazmania 1. Okt 2003 08:34

Re: BDE Stored Procedure
 
Zitat:

Zitat von r_kerber
Zitat:

Zitat von Leuselator
jedoch (soweit ich weis) nur, wenn die StoredProcedure keine Ergebnismenge zurückliefern soll

Aus der OH:
Zitat:

Abhängig von der Server-Implementation kann eine Stored Procedure entweder einzelne Werte oder eine Ergebnismenge zurückgeben, ähnlich der von einer Abfrage zurückgegebenen Menge.

Hallo r_kerber
Wenn ich die StoredProc activiere sollte ich im Feld StoredProcName die Auswahl aller
verfügbaren Stored Proceduren sehen. Diese ist jedoch dort nicht zu finden. Bin mir nicht sicher ob BDE die richtige Lösung ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 Uhr.
Seite 1 von 2  1 2      

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