vb.net - 使用 oledb 从 csv/txt 文件检索数据时出现 "is not a valid name"错误

标签 vb.net csv oledb jet

我使用 oledb 驱动程序从 csv/txt 文件检索数据

ConnString = "Provider=Microsoft.Jet.OleDb.4.0; Data Source = " & System.IO.Path.GetDirectoryName(strFileName) & "; Extended Properties = ""Text;HDR=YES;FMT=Delimited"""

strQuery = "SELECT * FROM [" & System.IO.Path.GetFileName(strFileName) & "]"

在最后一行,如果文件名很大,我会收到以下错误

不是有效名称。确保它不包含无效字符或标点符号,并且不要太长。

我的问题 - 文件名或选择查询是否有任何限制,或者有一些我需要遵循的模式?

最佳答案

刚刚为此苦苦挣扎,我发现文件路径或名称的任何部分都不能包含空格或单引号,否则文件路径将被确定为无效。无论我尝试对名称进行何种限定或转义,这都适用。

删除所有空格和单引号后,一切都很好。例如。

无效:

"C:\Users\Administrator\Documents\Data\User''s Folder\Import Data.csv"

有效:

C:\Users\Administrator\Documents\Data\Users-Folder\ImportData.csv

关于vb.net - 使用 oledb 从 csv/txt 文件检索数据时出现 "is not a valid name"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1999003/

相关文章:

vb.net - 如何从列表框中删除选定的项目

python - 格式化 csv 以允许 numpy 制作数据框

javascript - 如何将本地 csv 文件加载到 JavaScript 数组中

c# - C# 中的 OleDbConnection

c++ - 如何更新使用 C++ 中的 ATL OLE 数据库从简单的 SQL 服务器表中获取的行数据

c# - Enterprise Library Database.ExecuteNonQuery 隐藏的性能问题(连接到 IBM iSeries)

vb.net - vb.Net 中的游戏开发

mysql - 如何获取数据 GridView 的行值并使用同一行中的按钮将其传递给另一个表单

python - 读取 .csv 文件并根据特定列中的相等值连接值

mysql - 尝试从 MySQL 读取时出现 "Object Reference not Set to an Instance of an Object"