ADODB.RecordSet不分隔CSV列

时间:2016-01-06 10:13:00

标签: .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=" & 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...

而不是:

item1
item2
item3
...

此代码用于在II6(W2K)上运行良好,但在转移到IIS7.5(W2008R2)时,似乎没有考虑分隔符。

1 个答案:

答案 0 :(得分:0)

引自connectionstrings.com

  

Microsoft Jet OLE DB 4.0

     

分隔列

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\txtFilesFolder\;
Extended Properties="text;HDR=Yes;FMT=Delimited";
     

可以在注册表中的以下位置指定分隔符:
  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Text
  "Format" = "TabDelimited"
  或
  "Format" = "Delimited(;)"

     

How to Use JET in 64 bit environments