-
Zitat von Rainer Ross
Das API QtmhRdStin hat folgende Parameter
PHP-Code:
dcl-pr readstdin extproc('QtmhRdStin'); tmhdata pointer value; tmhdatlen int(10) const; tmhavail int(10) const; tmerror like(d#apierr) const; end-pr;
Die Länge der Daten ist int(10), damit können sie bis max 2.147.483.647 Byte gross sein. Ich benutze das API, um z.B. PDF's auf den Server hochzuladen.
Ein CLOB oder BLOB-Feld kann maximal 16MB gross sein. Das sollte auch ausreichen.
Wie Fürchau schon richtig gesagt hat, kannst Du über Locator arbeiten, oder es wie folgt definieren
PHP-Code:
dcl-s s#file sqltype(CLOB_FILE); dcl-s s#clob sqltype(CLOB:16000000); dcl-s s#loc sqltype(CLOB_Locator);
Viele Grüße
Rainer
Ich habe ja kein Problem mit QtmhRdStin (das ich seit Jahren verwende) sondern mit der Tatsache, daß ich den von QtmhRdStin erhaltenen alpanumerischen String via embedded SQL in meiner Datenbank speichern will. Und da ist bei standard-embedded bei ca. 32700 Zeichen schluß.
-
Wie du oben siehst, ist das bei SQLTYPE(CLOB:16000000) oder SQLTYPE(BLOB:16000000) nicht der Fall.
Es wird eine Struktur erstellt, in der du deine Daten und Länge abgeben kannst und als CLOB/BLOB an SQL geben oder von SQL lesen kannst.
Alternativ eben LOBLOCATOR die dann per SUBSTR o.ä. angesprochen werden können.
Dann kannst du eben 2GB per SQL-"set " und SUBSTR die Teilstrings aneinander ketten oder auslesen.
-
Zitat von Fuerchau
Schon, aber in diesen Beispielen wird doch nur demonstriert wie mit diesen Objekttypen umgegangen wird und bei embedded wird auch nicht die magische Grenze von 32700 überschritten - oder habe ich da was falsch verstanden?
-
Zitat von Fuerchau
Wie du oben siehst, ist das bei SQLTYPE(CLOB:16000000) oder SQLTYPE(BLOB:16000000) nicht der Fall.
Es wird eine Struktur erstellt, in der du deine Daten und Länge abgeben kannst und als CLOB/BLOB an SQL geben oder von SQL lesen kannst.
Alternativ eben LOBLOCATOR die dann per SUBSTR o.ä. angesprochen werden können.
Dann kannst du eben 2GB per SQL-"set " und SUBSTR die Teilstrings aneinander ketten oder auslesen.
Ahhh....verstehe....da bin ich jetzt echt auf der Leitung gestanden....dank...
-
Die 32K galten bis V5, ab V6 gehen eben 16MB direkt.
Similar Threads
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 25
Letzter Beitrag: 14-02-18, 11:11
Tags for this Thread
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks