Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Datentyp für "NUMBER(38)" in Oracle Stored Proc (https://www.delphipraxis.net/180343-datentyp-fuer-number-38-oracle-stored-proc.html)

skyobserver 13. Mai 2014 12:55

Datenbank: Oracle • Version: 8.0 • Zugriff über: AnyDac v1.12.2

Datentyp für "NUMBER(38)" in Oracle Stored Proc
 
Hallo,


ich muß eine Stored Proc auf einer Oracle Datenbank aufrufen...

Im Delphi TStoredProc-Object muß man dazu die Ein- und Ausgabe-Parameter
in gleicher Reichenfolge sowie passendem Datentyp hinterlegen wie sie in
der Oracle-StoredProc definiert wurden.

Ein Parameter ist im Oracle als NUMBER(38) declariert - welchen
Datentyp würde man da korrekterweise dem Delphi-Parameter zuweisen?

Habe jetzt schon (fast) alles was imho Sinn macht ausprobiert..."Anzahl Paramter
oder Typen falsch" oder "Data mapping for Parameter [blabla] not supported"
kommt dabei heraus (Anzahl stimmt auf jeden fall).

ftBytes, ftVarBytes, Blob, ftVariant...alles negativ...

Wer weiß Rat?

Lemmy 13. Mai 2014 12:58

AW: Datentyp für "NUMBER(38)" in Oracle Stored Proc
 
hi,

schon mal ne einfache Query verwendet und dort die SP aufgerufen?

Sherlock 13. Mai 2014 13:17

AW: Datentyp für "NUMBER(38)" in Oracle Stored Proc
 
Long, LongRaw, Number?

Das wären einige der Verdächtigen, die ich da verwenden würde, ich hab allerdings auch native Oracle Komponenten und keinen allgemeingültigen Aufsatz. Number(38) ist allerdings...unfassbar groß. Dafür gibts noch gar keinen offiziellen Namen bei 10^24 hörts auf. Welchen Delphitypen hast du eigentlich vorgesehen für die Behandlung dieser Zahlen? Kann ja nur String sein...

Sherlock

skyobserver 13. Mai 2014 14:04

AW: Datentyp für "NUMBER(38)" in Oracle Stored Proc
 
Zitat:

schon mal ne einfache Query verwendet und dort die SP aufgerufen?
Ähhhh nein...wüßte jetzt gar nicht wie ich die StoredProc im SQL aufrufe (benutzen
wir in unserem System eigentlich nie...) :gruebel:

Zitat:

Number(38) ist allerdings...unfassbar groß. Dafür gibts noch gar keinen offiziellen Namen bei 10^24 hörts auf
Ich stimme Die zu - habe auch schon hintergefragt welcher "Spezialist" da im Jahre 2002 eine 27-Bit Dokumenten-ID vergibt
die bestenfalls ein paar mal am Tag vergeben werden muß...

Zitat:

Long, LongRaw, Number?
Die Integer-Typen hören bei "ftInteger" auf - "ftNumber" gibt es leider nicht (danach hatte ich zuerst gesucht...)

Sherlock 13. Mai 2014 14:08

AW: Datentyp für "NUMBER(38)" in Oracle Stored Proc
 
Eventuell kannst Du einen Substitutionstypen nehmen. Also eine Variable, die im auszuführenden SQL einfach durch den angegeben String ersetzt wird. Meine Komponenten nennen den "otSubst". Sowas sollte es allerdings auch by AnyDac geben.

Sherlock

mkinzler 13. Mai 2014 14:10

AW: Datentyp für "NUMBER(38)" in Oracle Stored Proc
 
Zitat:

Ähhhh nein...wüßte jetzt gar nicht wie ich die StoredProc im SQL aufrufe (benutzen
wir in unserem System eigentlich nie...)
Ist dieses selectabel einfach mit
SQL-Code:
select <Feldliste> from <SP>(<Parameter>);

skyobserver 13. Mai 2014 14:16

AW: Datentyp für "NUMBER(38)" in Oracle Stored Proc
 
Zitat:

Ist dieses selectabel einfach mit select <Feldliste> from <SP>(<Parameter>);
Kann man das kürzen, wenn man die Rückgabewerte nicht braucht (Also quasi nur Execute+Input-Parameters)?
Der NUMBER(38) Parameter ist ein Rückgabewert, den ich nicht mal brauche...

mkinzler 13. Mai 2014 14:29

AW: Datentyp für "NUMBER(38)" in Oracle Stored Proc
 
In der Feldliste brauchst Du nur die Spalten angeben, welche Du benötigst. Die Parameterliste muss aber meist vollständig sein ( Eingabeparameter)

skyobserver 13. Mai 2014 14:36

AW: Datentyp für "NUMBER(38)" in Oracle Stored Proc
 
Ich brauche überhaupt keine Rückgabewerte!

Nehme jetzt zum testen mal "O_RETURN" der ist ein Boolean - dat sollte ja wohl klappen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:44 Uhr.

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 by Thomas Breitkreuz