Delphi-PRAXiS
Seite 2 von 2     12   

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 1. Okt 2003 11:26

Re: BDE Stored Procedure
 
Liste der Anhänge anzeigen (Anzahl: 1)
Nun bin ich ein bischen weiter gekommen.

folgender Code habe ich jetzt....

Datamodule1.StoredProc1.StoredProcName := 'TSW_RESTRICT_SESSION';
Datamodule1.StoredProc1.Params[0].AsString := 'enable';
Datamodule1.StoredProc1.Prepare;
Datamodule1.StoredProc1.ExecProc;

Irgend wie erhalte ich jetzt eine Key violation. Es schein mir fast als wolle Delphi diese Procedure neu kompilieren.

Die Fehlermeldung habe ich in denn Anhang gestellt.

r_kerber 1. Okt 2003 12:50

Re: BDE Stored Procedure
 
Hallo tazmania,

hab's gerade ausprobiert. Bei mir werden die Stored Procedures angezeigt. Ich bin mir nicht ganz sicher, ich glaube es liegt u.a. daran, dass ich mit TSession arbeite. Probiere das mal aus. Und noch etwas, bei mir steht vor dem dem Prozedur-namen auch noch der Owner (bzw. der Name eines Users, dem diese par "Alias" bekannt gemach wurde): ASPFLV.TAKE_DID

tazmania 2. Okt 2003 07:31

Re: BDE Stored Procedure
 
Ich sehe schon einige Proceduren jedoch diese nicht.
Ich werden mal ds mit dem Schema versuchen. Was meinst du unter TSession?

Garby 2. Okt 2003 11:09

Re: BDE Stored Procedure
 
Hallo allerseits,

einen Prozeduraufruf wie diesen:
SQL-Code:
exec TSW_RESTRICT_SESSION.enable
gibt es meines Wissens in Oracle nicht.(Zumindest ist enable kein Parameter)

TSW_RESTRICT_SESSION muss demnach ein Oracle Package sein, und enable eine Procedure dieses Packages.
Es kann aber auch ein Synonym sein, das auf ein Package eines anderen Users zeigt.

In diesem Fall kannst du mit der StroedProc Komponente die Prozedur folgendermassen aufrufen:
Delphi-Quellcode:
Datamodule1.StoredProc1.StoredProcName := 'TSW_RESTRICT_SESSION.ENABLE';
Datamodule1.StoredProc1.Prepare;
Datamodule1.StoredProc1.ExecProc;
Wenn du viel mit Oracle arbeitest, dann wirst du mit der BDE ziemlich schnell auf Grenzen stoßen. z.B. kannst du keine PLSQL Blöck oder DDL Anweisungen absetzen. Auch der Zugriff auf Blobs, CLOBS, BFILES u.dgl. ist nicht möglich. usw, usw, usw....

Ich kann dir nur die Zugriffskomponenten Direct Oracle Access von Allroundautomations empfehlen.
Damit ist so gut wie alles möglich.

r_kerber 2. Okt 2003 12:00

Re: BDE Stored Procedure
 
Zitat:

Zitat von tazmania
Was meinst du unter TSession?

Die TSession-Komponente von Delphi. Eine in's Datamodule ziehen, benamsen und bei allen anderen DB-Komponenten diese TSession auswählen. Das war aber nur so'n Strohhalm.

tazmania 3. Okt 2003 09:34

Re: BDE Stored Procedure
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Gary,
Ja, es ist ein Oracle Package und enable sowie disable und show sindProceduren.
Nun ich habe folgendes ausgeführt.....
Delphi-Quellcode:
   Datamodule1.StoredProc1.StoredProcName := 'TSW_RESTRICT_SESSION.ENABLE';
   Datamodule1.StoredProc1.Prepare;
   Datamodule1.StoredProc1.ExecProc;
Ich erhalte jetzt folgende Fehlermeldung (Anhang).
Ich denke jetzt muss ich mit einem DBA Kontackt aufnehmen.

r_kerber 3. Okt 2003 16:27

Re: BDE Stored Procedure
 
Hallo tazmania,

das Problem hatte ich auch schon mal. Offensichtlich lassen sich Oracle-Packages nicht so aufrufen wie "normale" Stored Procedures. Ich habe es dann aufgegeben. Falls Du jedoch die Möglichkeit hast eine Stored Procedure zu schreiben, die dann die Funktion aus dem Package aufruft, dann solltest Du dies mal probieren.

Garby 16. Okt 2003 09:55

Re: BDE Stored Procedure
 
Hallo,

diese Meldung bekommst du, wenn das betreffende Package gerade ungültig ist.
Wenn das Package keinen Fehler hat, dann brauchst du es nur neu Compilieren.
SQL-Code:
Alter Package TSW_RESTRICT_SESSION compile;


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:26 Uhr.
Seite 2 von 2     12   

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