我很纠结这个问题,不知道如何继续。我正在使用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
我还有一个架构.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 文件中开始。
我尝试使用文本而不是备忘录,这有效,但它只带回前 255 个字符,而且我的一些字段不止于此,因此它们被截断了。
我希望有人能帮助我。
干杯
好的,所以我将连接字符串从
Driver={Microsoft Text Driver (*.txt; *.csv)}
自
Provider=Microsoft.Jet.OLEDB.4.0
现在这行得通