Ich verwende den folgenden Code, basierend auf früheren Posts und Antworten von Remou und Anthony Jones. Es wird über die Namen meiner Spalten in Anführungszeichen vor den eigentlichen DatenProblem beim Importieren von CSV-Dateien in mysql von VBS und Zugriff
Dim db: db = "C:\Dokumente und Einstellungen\hom\Anwendungsdaten\BayWotch4\baywotch.db5"
Dim exportDir: exportDir = "C:\Dokumente und Einstellungen\hom\Desktop"
Dim exportFile: exportFile=NewFileName(exportDir)
Dim cn: Set cn = CreateObject("ADODB.Connection")
cn.Open _
"Provider = Microsoft.Jet.OLEDB.4.0; " & _
"Data Source =" & db
cn.Execute "SELECT * INTO [text;HDR=No;Database=" & exportDir & _
";CharacterSet=65001]." & exportFile & " FROM tblAuction"
'Export file
'Support functions
Function NewFileName(ExportPath)
Dim fs
Dim NewFileTemp
Set fs = CreateObject("Scripting.FileSystemObject")
NewFileTemp = "CSV" & Year(Date) _
& Month(Date) & Day(Date) & ".csv"
NewFileName = NewFileTemp
End Function
Das Problem, das ich bin, ist, wenn ich die Datei zu exportieren, die CSV-Datei-Header enthält, trotz HDR auf Nein festgelegt wird, was bewirkt, Probleme beim Importversuch.
Mein zweites Problem ist, dass Sonderzeichen nicht zu entkommen scheinen.
Ich bin Laden der Daten in MySQL mit:
LOAD DATA LOCAL INFILE 'file' INTO TABLE MYTABLE FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\'
Ich habe auch ohne die ESCAPED BY-Klausel versucht.
Das Problem ist, dass eines der Felder HTML-Daten enthält, was Anführungszeichen, Schrägstriche usw. bedeutet. Dies führt dazu, dass die Daten falsch importiert werden, wobei Datumsfelder in die Felder für Benutzernamen usw. eingefügt werden. Wie kann ich entkommen, um dies zu verhindern oder richtig zu importieren?
Ich verwende einen scheme.ini wie folgt aus:
[CSV2009427.csv]
ColNameHeader=No
CharacterSet=65001
Format=Delimited(;)
Col1=article_no Char Width 19
und Spaltenüberschriften sind noch exportiert. Ist dies nicht möglich, ohne dass schema.ini erforderlich ist? I.e. in der Lage sein, das Skript auf eine tragbare Weise zu verwenden, wo eine schema.ini möglicherweise nicht immer existiert?
Gibt es einen Grund, dass Sie eine CSV verwenden müssen? Wenn Sie bereits VBScript dafür verwenden, warum verbinden Sie sich nicht mit beiden Datenbanken und übertragen nur die Daten? Ich verstehe nicht, warum Sie VBScript verwenden, um eine csv zu erstellen, hat Access nicht bereits diese Funktion? – Tester101