Microsoft Jet数据库引擎找不到对象:文件名中的特殊字符

时间:2017-10-12 23:19:39

标签: vb.net csv datatable oledbconnection jet

我正在从csv文件创建一个DataTable,并且正在努力处理文件名,因为它们包含括号和“#”字符。代码:

  CnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Me.TextBox2.Text & "\;Extended Properties=""text;HDR=No;FMT=Delimited"";"
  Dim tbl As New DataTable
  fn = System.IO.Path.GetFileName(filename)
  s = "select * from [" & fn & "]"
  Using Adp As New OleDbDataAdapter(s, CnStr)
     Adp.Fill(tbl)
  End Using

它返回错误:

  

Microsoft Jet数据库引擎找不到该对象   '.W5000FLT.Wilshire 5000浮点调整指数[M] .csv'

但实际的文件名('fn'的值)是

  

“。W5000FLT#Wilshire 5000 Float Adjusted Index(M).csv”

正如您所看到的,Jet引擎将“”字符和方括号替换为圆形到方形。

“普通”文件名一切正常。

有关如何修复它的任何建议吗?

谢谢!

0 个答案:

没有答案