如何使用VBScript和ADO读取.csv文件

时间:2016-11-08 17:32:38

标签: csv vbscript ado

目标

编写一个读取.csv文件并将其上传到数据库的程序。它必须在Windows 10上运行,无需特殊安装。

我尝试过什么

我熟悉VBScript和ADO连接(我实际上已经编写并测试了程序的文件上传部分)。现在我要做的就是在带有ADO的.csv文件中读取(请参阅为什么在这里使用ADO而不是split():https://msdn.microsoft.com/en-us/library/ms974559.aspx

上面的文章使用默认情况下未安装的Microsoft Jet数据库引擎创建.csv连接,因此我尝试使用其他来源建议的Microsoft文本驱动程序。

问题

我在尝试连接时遇到错误。错误说:

Microsoft OLE DB Provider for ODBC
Drivers: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

无论是从32位还是64位cmd运行,都会发生错误(这是我获得32位进程的地方:How do I run a VBScript in 32-bit mode on a 64-bit machine?)。可以在32位ODBC驱动程序中找到Microsoft文本驱动程序。

我的桌面上有一个名为test.csv的文件,它包含文本"Cell1","Cell2","Cell3"

守则

Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adCmdText = &H0001

set WshShell = CreateObject("Wscript.shell")
strDesktop = WshShell.SpecialFolders("Desktop")

Set fileConn = CreateObject("ADODB.Connection")
Set fileRS = CreateObject("ADODB.Recordset")

strPathtoTextFile = strDesktop & "\"
' Wscript.Echo(strPathtoTextFile)
fileConn.ConnectionString = "Driver={Microsoft Text Driver (*.txt;*.csv)};DBQ=" & strPathtoTextFile & ";"

fileConn.Open

fileRS.Open "SELECT * FROM test.csv", _
        fileConn, adOpenStatic, adLockOptimistic, adCmdText

错误发生在fileConn.Open行上。该代码是上述Microsoft文章中的修改后的代码段。

为什么我收到此错误的任何想法?

0 个答案:

没有答案