【问题标题】:The Microsoft Access database engine could not find the object test.13.csvMicrosoft Access 数据库引擎找不到对象 test.13.csv
【发布时间】:2014-03-13 12:58:51
【问题描述】:

我正在处理经典的 ASP 项目。在这个项目中,用户可以选择上传 CSV。

现在发生的情况是,如果我上传包含多个点的 CSV 文件,例如 test.13.csv,那么我会得到:

Microsoft Access 数据库引擎找不到对象“test.13.csv”。确保对象存在并且正确拼写其名称和路径名

但如果我保存与 test.csv 相同的文件,那么它会正确获取文件。

那么谁能告诉我如何让我的代码在 csv 文件中接受多个点?

我正在使用以下提供商:

sFileDSN = "Provider=" & msdbProviderString() & ";Data Source=" & objFile.Folder & ";Extended Properties=""text;HDR=YES;IMEX=1;MaxScanRows=0;ImportMixedTypes=Text;"""

【问题讨论】:

  • 您是否已经尝试test_13.csv 进一步缩小问题的范围?您是否还检查了文件在上传时是否未重命名?
  • @Filburt 嗨,我试过 test_13.csv,它工作正常,但我需要另存为 test.13.csv。当我上传文件时,文件也没有重命名。有什么解决办法吗??
  • msdbProviderString() 的值是多少?
  • @Filburt msdbProviderString = "Microsoft.ACE.OLEDB.12.0"
  • 文件名中似乎存在一些可能与您的命名要求冲突的逻辑 - 有关详细信息,请参阅Microsoft.ACE.OLEDB.12.0 CSV ConnectionString。也许您应该考虑改用下划线。

标签: asp-classic


【解决方案1】:

您可以将文件名用单引号括起来,如下所示:

sFileDSN = "Provider='" & msdbProviderString() & "';Data Source=" & objFile.Folder & ";Extended Properties=""text;HDR=YES;IMEX=1;MaxScanRows=0;ImportMixedTypes=Text;"""

这是一个参考,它没有特别提到句号,但确实涉及其他特殊字符:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms722656(v=vs.85).aspx

【讨论】:

    猜你喜欢
    • 2012-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多