LOAD DATA ... POSITION(x:y) wie in ORACLE möglich?

LOAD DATA ... POSITION(x:y) wie in ORACLE möglich?

am 12.12.2006 17:50:58 von Matthias Stern

Hallo!

Ich muss eine ORACLE Applikation in eine MySQL Applikation umbauen und habe
bei der Anpassung der Ladeskripte folgendes Problem:

Unter ORACLE verwende ich zum Beispiel dieses Ladeskript
lt_KD0000ANRED.sql:

---
OPTIONS ( ERRORS = 100, DIRECT = TRUE )
LOAD DATA
CHARACTERSET "UTF8"
INFILE "KD000ANRED.TUF"
APPEND
INTO TABLE TABEX
(
"Mandant" CONSTANT 'BW',
"TABELLE" CONSTANT 'KD000ANRED',
"SCHLUESSEL_INTERN" POSITION(01:02) CHAR,
"SCHLUESSEL_EXTERN" POSITION(01:02) CHAR,
"TEXT" POSITION(63:96) CHAR
)
---

Aufgerufen wird es mit:

sqlldr userid=xxx/yyy control=lt_KD000ANRED.sql direct=true


Die dazugehörende Datei KD000ANRED.TUF sieht auszugsweise so aus:

....
18Sehr geehrter Herr ..., Herrn
1HERRN KLEIN
19Sehr geehrte Frau ..., Frau
2FRAU KLEIN
21Sehr geehrte Damen und Herren, Firma
4FIRMA KLEIN
....


Unter MySQL habe ich keinen äquivalenten Befehl zu POSITION() gefunden. Das
Problem ist, das ich Unmengen (>500) dieser Dateien habe und ich immer
bestimmte Spalten variabler Länger herauspicken und in die Tabelle TABEX
schreiben muss. Bei jeder datei stehen die Informationen an einer anderen
Stelle.


Gibt es eventuell die Möglichkeit aus ORACLE zu exportieren und in MySQL zu
importieren?!?



Sonst irgendwelche Ideen?

Thx, Mac

Re: LOAD DATA ... POSITION(x:y) wie in ORACLE möglich?

am 12.12.2006 18:16:02 von Matthias Stern

Ich bin jetzt dazu übergegangen die Tabelle TABEX aus der ORACLE Datenbank
in eine CSV Datei zu exportiern und dann in MySQL zu importieren.

Trotzdem interessiert es mich: Gibt es ein Äquivalent zu ORACLEs POSITION()
Kommando?

Mac

Re: LOAD DATA ... POSITION(x:y) wie in ORACLE möglich?

am 13.12.2006 10:44:15 von Surgo

Matthias Stern schrieb:

> Ich bin jetzt dazu übergegangen die Tabelle TABEX aus der ORACLE Datenb=
ank
> in eine CSV Datei zu exportiern und dann in MySQL zu importieren.
>
> Trotzdem interessiert es mich: Gibt es ein Äquivalent zu ORACLEs POSITI=
ON()
> Kommando?
>
> Mac

Hallo Matthias,

so weit ich weiss gibt es nur externe Anwendungen, die im Endeeffekt
beide APIs bzw. Schnittstellen ansprechen und programmintern
konvertieren und Daten übermitteln; also eigene z.B. C++-Programme
etc.

Ich hab mir bisher auch "nur" über den Umweg CSV zu helfen gewusst.

Gruß
Timo
www.reposhop24.de