目标
编写一个读取.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文章中的修改后的代码段。
为什么我收到此错误的任何想法?