ASP.NET(VB.NET)使用OLEDB查询CSV时出现FROM子句语法错误
解决OLEDB查询CSV时的FROM子句语法错误
问题根源
你的代码存在两个关键错误:
- SQL查询的FROM子句误用完整路径:OLEDB连接CSV时,
Data Source已经指定了文件所在的文件夹,因此FROM后只需填写文件名,而非完整的文件路径。 - 连接字符串存在无效语法:
Extended Properties末尾的;;属于多余符号,会导致连接配置异常。
修正后的代码
' 修正连接字符串,移除多余分号 connString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & Server.MapPath(strFolderPath) & ";Extended Properties=""Text;HDR=Yes;FMT=Delimited(,)""" conn = New OleDbConnection(connString) ' 仅使用文件名,若文件名含空格/特殊字符需用[]包裹 query = "SELECT * FROM [file.csv]" cmd = New OleDbCommand(query, conn) da = New OleDbDataAdapter(cmd) ds = New DataSet() da.Fill(ds, "Putaway")
额外注意事项
- 若文件名包含空格、
&、#等特殊字符,必须用方括号[]包裹文件名,避免语法解析错误。 - 确认
strFolderPath指向的是CSV文件所在的文件夹路径,而非单个文件的路径。 - 服务器需安装对应版本的Microsoft ACE OLEDB 12.0驱动,且驱动位数(32/64位)要与应用程序池的运行位数匹配。
内容的提问来源于stack exchange,提问作者Jassim S
相关产品推荐
相关产品推荐

