Hallo,

Mit SQL Gibt es auch viele Möglichkeiten.

Hier hab ich ein Beispiel, wie du mit SQL das CSV nicht nur Zeile für Zeile einlesen kannst, sondern auch schon auf die entsprechenden Spalten aufgesplittet bekommst:

Code:
With csv2rows as (Select Element as Satz
             from Table(SYSTOOLS.SPLIT(
                                   GET_CLOB_FROM_FILE('/home/prouza/test.csv'), x'0D25')
                            )
),
rows2col as (select regexp_replace(satz, '(.+),(.+),(.+),(.+),(.+),(.+)', '$1') Spalte1,
             regexp_replace(satz, '(.+),(.+),(.+),(.+),(.+),(.+)', '$2') Spalte2,
             regexp_replace(satz, '(.+),(.+),(.+),(.+),(.+),(.+)', '$3') Spalte3,
             regexp_replace(satz, '(.+),(.+),(.+),(.+),(.+),(.+)', '$4') Spalte4,
             regexp_replace(satz, '(.+),(.+),(.+),(.+),(.+),(.+)', '$5') Spalte5,
             regexp_replace(satz, '(.+),(.+),(.+),(.+),(.+),(.+)', '$6') Spalte6
             from csv2rows
)
select * from rows2col;
Das (.+) steht für ein Feld im CSV. Diese Felder sind mit dem "," getrennt.
Es gibt auch noch andere Möglichkeiten wie man diese auf Spalten aufsplitten kann.

Die Frage der Performance wäre dann halt auch noch nebenbei.
Ich denke von diesem Aspekt ist der CPYFRMIMPF womöglich am schnellsten.

lg Andreas