-
Hmmm, ich würde eine SQL (Tabellen) Funktion basteln, die mir die komplette Tabele auflöst.
Schau Dir mal die SQL-Funktionen GET_CLOB_FROM_FILE, sowie die Tabellen Funktion SYSTOOLS.SPLIT() an.
Mit GET_CLOB_FROM_FILE kannst Du direkt auf die IFS-Datei zugreifen.
Mit SPLIT() kannst Du einen String in einzelne Zeilen aufsplitten.
Dann brauchst Du nur eine Common Table Expression (CTE), die die IFS-Datei zunächst einzelne Sätze (beim CRLF) aufsplittet. In einer zweiten CTE splittest Du dann die Zeilen in Spalten auf.
Im Endgültigen SELECT musst Du das Ganze nur noch in Spalten ausgeben ... und voilà du liest eine CSV-Datei direkt aus dem IFS und gibst das Ganze in Spalten aus.
Etwa so:
Code:
With x as (Select Ordinal_Position as RowKey, Element as RowInfo
from Table(SysTools.Split(Get_Clob_From_File('/home/Hauser/Employee.csv'), x'0D25')) a
Where Trim(Element) > ''),
y as (Select x.*, Ordinal_Position ColKey,
Trim(B '"' from Element) as ColInfo
from x cross join Table(SysTools.Split(RowInfo, ',')) a)
Select RowKey,
Min(Case When ColKey = 1 Then ColInfo End) EmployeeNo,
Min(Case When ColKey = 2 Then ColInfo End) Name,
Min(Case When ColKey = 3 Then ColInfo End) FirstName,
Min(Case When ColKey = 4 Then ColInfo End) Address,
Min(Case When ColKey = 5 Then ColInfo End) Country,
Min(Case When ColKey = 6 Then ColInfo End) ZipCode,
Min(Case When ColKey = 7 Then ColInfo End) City
From y
Where RowKey > 1
Group By RowKey;
Im übrigen wenn Du mit SQL arbeitest, darf eine VarChar-Variable 32767 Byte nicht überschreiten. längere alphanumerische Variablen, die Du mit SQL verarbeiten möchtest, musst Du mit dem Schlüssel-Wort SQLTYPE als CLOB definieren (maximum 16 MB).
Du kannst natürlich auch mir (embedded) SQL direkt auf IFS-Dateien zugreifen. In diesem Fall musst Du dann mit File-Referenz-Variablen arbeiten, die bebenfalls mit SQLTYPE definiert werden. In diesem Fall kannst du sogar IFS-Dateien bis zu 2 GB verarbeiten.
Birgitta
Similar Threads
-
By M Scheid in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 03-12-14, 17:52
-
By jojoschluckfirma in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 03-12-14, 13:51
-
By gerhardsw in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 20-12-13, 09:27
-
By kuddel in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 05-02-03, 07:19
-
By Spirou in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 17-04-02, 09:54
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