Select auf CSV-Datei

- OCinside.de PC Forum
https://www.ocinside.de

-- Software
https://www.forum-inside.de/forums.cgi?forum=17

--- Select auf CSV-Datei
https://www.forum-inside.de/topic.cgi?forum=17&topic=9348

Ein Ausdruck des Beitrags mit 5 Antworten ergibt bei 3 Antworten pro Seite ca. 2 DIN A4 Seiten. Das entspricht bei 80 g/m² ca. 9.98 Gramm Papier.


-- Veröffentlicht durch OberstHorst am 14:02 am 19. Juni 2013

Super... danke :thumb::ocinside:


-- Veröffentlicht durch ocinside am 13:10 am 19. Juni 2013

Nee, das schreibst du alles untereinander in eine einzige schema.ini Datei.
Also z.B.:

Code
[datei1.csv]
ColNameHeader=False
Format=Delimited( )
MaxScanRows=0
CharacterSet=OEM
Col1=XYZ1 Float
Col2=XYZ2 Integer
Col3=XYZ3 LongChar
[datei2.csv]
ColNameHeader=False
Format=TabDelimited
MaxScanRows=0
CharacterSet=OEM
Col1=XYZ1 Float
Col2=XYZ2 Integer
Col3=XYZ3 LongChar
[datei3.csv]
ColNameHeader=False
Format=TabDelimited
MaxScanRows=0
CharacterSet=OEM
Col1=XYZ1 Float
Col2=XYZ2 Integer
Col3=XYZ3 LongChar


-- Veröffentlicht durch OberstHorst am 12:41 am 19. Juni 2013

OK klingt schon mal gut.
Aber wenn ich verschiedene CSVs einlesen möchte, dann müsste ich für jedes Sheet eine extra Verbindung + INI anlegen, oder?


-- Veröffentlicht durch ocinside am 12:21 am 19. Juni 2013

Du müßtest das direkt bei der ODBC Verbindung vorgeben.
Ich hatte das mal mit OleDB über die schema.ini Datei gelöst, wo du dann in der schema.ini jede einzelne Spalte mit:
Col1=XYZ1 Float
Col2=XYZ2 Integer
Col3=XYZ3 LongChar
etc. eindeutig formatierst.


-- Veröffentlicht durch OberstHorst am 11:23 am 19. Juni 2013

:moin::moin: zusammen,

ich habe ein etwas "exotischeres" Problem und hoffe, dass mir hier jemand helfen kann.

Ich frage per SQL via ODBC direkt auf CSV-Dateien ab. Theoretisch funktioniert das auch alles super. Praktisch habe ich allerdings das Problem, dass der Treiber mir aus welchen Gründen auch immer die Formate vorschlägt. Hin und wieder passt das, aber vereinzelt wird mir in den Metadaten INTEGER angegeben, obwohl FLOAT oder gar CHAR Werte enthalten sind. Wenn in einem solchen Feld (INT) zum Beispiel eine Fließkommazahl steht, werden einfach die Nachkommastellen abgeschnitten.

Ein Workaround wäre die Zahlen alle in Quotes zu setzen. Aber das wäre nicht so die eleganteste Lösung. Per mid(feldname,1) darauf hinzudeuten, dass es sich um ein CHAR Feld handelt funktioniert leider nicht, da die Metadaten wohl bereits vom Treiber vergeben werden.

Vielleicht hat ja jemand eine Idee...

E: PS: Das erstellen der CSV erfolgt per VBA. Vielleicht lässt sich hier schon was drehen?!

(Geändert von OberstHorst um 11:26 am Juni 19, 2013)


OCinside.de PC Forum
© 2001 - 2024 www.ocinside.de