Anmelden

View Full Version : Unicode / UTF-8 Streamfile lesen



Seiten : 1 2 3 [4]

Fuerchau
15-08-19, 10:28
Freigabe brauchst du da nicht, da du ja keinen Locator nimmst.
Dein Verfahren liest die Datei komplett ein, nimmt den Substring und verwirft den Inhalt wieder.
Je nach dem wie häufig du da auf eine Datei zugreifst, dauert das halt.

dschroeder
15-08-19, 12:05
Danke für die Antwort. So hatte ich es mir beim Programmieren auch vorgestellt. Gefühlt geht das ganze rasend schnell. Ich habe aber keine Messungen durchgeführt.

MoellerH
17-02-21, 17:33
Hallo Brigitta,

dein Beispiel oben läuft bei mir rudimentär.
Ich möchte eine IFS-CSV-Datei lesen, und zwar Satzweise,
bis EOF.
Was muss ich noch beachten ?
Danke im voraus.

Fuerchau
17-02-21, 21:47
Ich habe dir auf den anderen Beitrag geantwortet. Warum immer alles neu erfinden?

MoellerH
18-02-21, 16:44
Danke für eure Hilfe, habe nun die Lösung per SQL gefunden: Super gut

SELECT CAST(LINE AS CHAR(3000))
FROM TABLE(QSYS2.IFS_READ(PATH_NAME =>
'/IMTECH/SELKUKEY3.CSV', END_OF_LINE => 'CRLF'))

ACS kann es ohne CAST

Fuerchau
18-02-21, 23:11
Ich verstehe aber immer noch nicht, warum du eine CSV selber lesen und ggf. auseinanderfriemeln und konvertieren willst.

MoellerH
19-02-21, 16:16
Wir bekommen von Kunden (FTP) CSV-Dateien geschickt, diese schieben wir ins IFS. Unser Tool greift diese nun ab und checkt anhand von Stammdaten die Spalten und Dateninhalte. Wenn alles passt gehen die Daten hoch in die Echtumgebung. Mal ganz kurz.
Leider habe ich nun das nächste Problem :
Aufruf im CL : per EXCSQLSTM SQLSTM(&STM1) RETCOD(&RET)


&STM1 =
....5...10...15...20...25...30...35...40...45...50 ...55...60
1 'create table qtemp/IFS as (SELECT CAST(LINE AS CHAR(3000))
61 'as daten FROM TABLE(QSYS2.IFS_READ(PATH_NAME => '/IMTECH/SEL
121 'KUKEY3.CSV
181 '
241 '
301 '' , END_OF_LINE => 'CRLF' ))) with data
361 ' '

Fehler in Befehl EXCSQLSTM gefunden.

Im SQL-Monitor läuft der o. g. Code aber. Was könnte ich tun ?

Andreas_Prouza
19-02-21, 16:49
Der Befehl heißt nicht EXCSQLSTM sondern RUNSQL oder RUNSQLSTM.
Nebenbei scheint es jetzt 2 Threads von dir zu geben wo du das gleiche Thema behandelst.

Ansonsten ein schönes Wochenende!

B.Hauser
19-02-21, 17:37
... und hast du auch daran gedacht die Hochkommata im &STM1 zu verdoppeln?

Birgitta