使用 ADODB 打开 csv 文件作为记录集时的空备注字段

Null memo fields when opening a csv file as a recordset using ADODB

我对此非常困惑,不知道如何进行。我正在使用 ADODB 打开一个 CSV 文件,它工作正常,但是 CSV 文件中存在的我的文本字段被打开为空字段,所有数字字段都被正确设置。

我这样打开CSV文件;

Set adoOpen = Server.CreateObject("ADODB.Connection")
adoOpen.ConnectionString = "Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=C:/;Extensions=asc,csv,tab,txt;HDR=NO;Persist Security Info=False"
adoOpen.Open
Set rsOpenRS = Server.CreateObject("ADODB.Recordset")
sSQL = "SELECT * FROM `Import.csv`"
rsOpenRS.Open sSQL, adoCon

我还设置了一个 schema.ini 文件,告诉它我希望如何打开我的字段,就像这样

[Import.csv]
ColNameHeader=True
Format=CSVDelimited
Col1=MyTextField Memo 
Col2=MyNumberField Double
Col3=MyOtherNumberField Double

我的 CSV 文件中的数据如下所示

MyTextField,MyNumberField,MyOtherNumberField
"Some text here",1,100

当我遍历我的字段时,我希望看到以下内容

MyTextField = Some text here
MyNumberField = 1
MyNumberField = 100

但我得到的是这个

MyTextField = 
MyNumberField = 1
MyNumberField = 100

它只是忽略该字段中的文本,但 CVS 文件中肯定有该文本作为开头。

我试过使用 Text 而不是 Memo,这很有效,但是它只返回前 255 个字符,而且我的一些字段超过了这个,所以它们被截断了。

希望有人能帮帮我。

干杯

好的,所以我更改了我的连接字符串

Driver={Microsoft Text Driver (*.txt; *.csv)}

Provider=Microsoft.Jet.OLEDB.4.0

现在可以了