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

时间:2015-04-14 10:16:23

标签: csv vbscript asp-classic 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个字符,而且我的某些字段会超过此字段,因此它们会被截断。

我希望有人可以帮助我。

干杯

1 个答案:

答案 0 :(得分:0)

好的,所以我从

更改了连接字符串
Driver={Microsoft Text Driver (*.txt; *.csv)}

Provider=Microsoft.Jet.OLEDB.4.0

现在这个有用了