我正在将csv文件中的值批量插入访问表中。到目前为止,一切都很好,直到我遇到此问题为止,在该问题中,访问将所有期望的值插入一个称为BN1的字段。当数据为非数字时,它只会使该列保留空白。这是产品的批次名称,在设计中,字段类型为备忘(旧版.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]
路径和文件名正确,否则不会插入任何值
答案 0 :(得分:0)
嗨,这是我解决问题的方法,
将查询更改为批量插入到
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的其他信息,请访问以下链接,