我将csv文件中的值批量插入到我的访问表中。事情进展顺利,直到今天我遇到了这个问题,其中访问插入了一个名为BN1的字段所需的所有值。当数据非数字时,它只是将该列保留为balnk。这是产品的批处理名称,在设计中字段类型是备忘录(遗留.mdb文件,因此无法更改)。
我的样本数据:
DATE,TIME,PN1,BN1,CH0,CH1,CH2
2019-02-18,16:40:05,test,prompt,0,294,0
2019-02-18,16:40:14,test,1,700,294,0
因此,在上面的数据中,第一行插入了一个空白值,用于提示,其中第二行正确插入,BN1为1。
我的代码插入数据:
INSERT INTO Log_143_temp ([DATE],[TIME],PN1,BN1,CH0,CH1,CH2
) SELECT [DATE],[TIME],PN1,BN1,CH0,CH1,CH2
FROM [Text;FMT=Delimited;DATABASE=C:\tmp].[SAMPLE_1.csv]
路径和文件名是正确的,否则它不会插入任何值
嗨,这是我如何解决这个问题,
将查询更改为批量插入到,
INSERT INTO Log_143_temp ([DATE],[TIME],PN1,BN1,CH0,CH1,CH2
) SELECT [DATE],[TIME],PN1,BN1,CH0,CH1,CH2
FROM [Text;FMT=CSVDelimited;HDR=Yes;DATABASE=C:\tmp].[SAMPLE_1.csv]
然后在包含要导入的csv文件的文件夹中添加名为schema.ini的文件。
schema.ini文件的内容,
[SAMPLE_1.csv]
ColNameHeader=True
Format=CSVDelimited
DateTimeFormat=yyyy-mm-dd
Col1="DATE" Text
Col2="TIME" Text
Col3="PN1" Text
Col4="BN1" Text
Col5="CH0" Double
Col6="CH1" Double
Col7="CH2" Double
现在导入的csv文件没有任何问题。
有关schema.ini的其他信息,请访问以下链接: