.net ADODB.RecordSet不';t分隔CSV列
我有一个VBScript,它使用.net ADODB.RecordSet不';t分隔CSV列,.net,csv,vbscript,iis-7.5,adodb,.net,Csv,Vbscript,Iis 7.5,Adodb,我有一个VBScript,它使用ADODB.RecordSet获取分隔CSV文件的所有项。下面是一段脚本: Set rsSource = Server.CreateObject("ADODB.RecordSet") Set cnxExcel = CreateObject("ADODB.Connection") cnxExcel.Provider = "Microsoft.Jet.OLEDB.4.0" cnxExcel.ConnectionString = "Data Source=" &
ADODB.RecordSet
获取分隔CSV文件的所有项。下面是一段脚本:
Set rsSource = Server.CreateObject("ADODB.RecordSet")
Set cnxExcel = CreateObject("ADODB.Connection")
cnxExcel.Provider = "Microsoft.Jet.OLEDB.4.0"
cnxExcel.ConnectionString = "Data Source=" & CheminSource & ";Extended Properties='Text;HDR=YES;FMT=Delimited'"
cnxExcel.Open
rsSource.Open "SELECT * FROM [" & Fichier & "]", cnxExcel, 3
If rsSource.EOF AND rsSource.BOF Then
RecordSetVide = true
Else
rsSource.MoveFirst
NbColonne = 1
For Each adoFld in rsSource.Fields
ReDim Preserve TabColonne(NbColonne)
TabColonne(NbColonne) = adoFld.Name
Next
End If
问题是我得到了一个非分隔的输出,分号可见:
item1;item2;item3...
项目1;项目2;项目3。。。
而不是:
item1
item2
item3
...
项目1
项目2
项目3
...
该代码过去在II6(W2K)上运行良好,但当移到IIS7.5(W2008R2)时,似乎没有考虑分隔符。引用自:
Microsoft Jet OLE DB 4.0
分隔列
可以在注册表中的以下位置指定分隔符:HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Text
“格式”=“制表符分隔”
或
“格式”=“分隔(;)”
谢谢这解决了我的问题,但密钥不在您指定的路径中,而是:HKLM\Software\Wow6432Node\Microsoft\Jet\4.0\Engines\text那么您有一个64位系统。在报价中添加了64位环境中的JET链接。
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\txtFilesFolder\;
Extended Properties="text;HDR=Yes;FMT=Delimited";