我使用以下代码,基于Remou和Anthony Jones以前的帖子和答案。
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
我遇到的问题是,当我导出文件时,csv文件包含标题,尽管HDR被设置为否。在实际数据之前,我的列的名称会在引号中出现,这会在尝试时产生问题导入。
我的第二个问题是特殊字符似乎没有被转义。
我将数据加载到mysql中:
LOAD DATA LOCAL INFILE 'file' INTO TABLE MYTABLE FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\'
我也尝试过没有ESCAPED BY子句。
问题是其中一个字段包含html数据,这意味着引号,斜杠等。这会导致数据导入错误,日期字段被插入用户名字段等。如何逃避阻止这种情况发生或正确导入?
我正在使用如下的scheme.ini:
[CSV2009427.csv]
ColNameHeader=No
CharacterSet=65001
Format=Delimited(;)
Col1=article_no Char Width 19
仍然会导出列标题。是否不可能在不需要schema.ini的情况下执行此操作?即能够以便携方式使用脚本,schema.ini可能不存在吗?
答案 0 :(得分:1)
我遇到的问题是,当我 导出文件,csv文件包含 标题,尽管HDR被设置为No。
我认为您需要在Schema.ini File中加入ColNameHeader=False
。
示例:
C:\ SCHEMA.INI
[blah.csv]
ColNameHeader=False
CharacterSet=1252
Format=CSVDelimited
Col1=pence_amount Integer
SQL代码:
SELECT * INTO [text;Database=C:\].blah#csv FROM Coins;
请注意,schema.ini文件保存在SQL中连接字符串中由Database
指定的同一目录中。
结果:没有标题。