【问题标题】:OleDbConnection connection string Data Source errorOleDbConnection 连接字符串数据源错误
【发布时间】:2012-04-16 17:08:34
【问题描述】:

这是我正在使用的连接字符串。

string connection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\CULVERT2.DBF;Extended Properties=dBASE IV;";

我收到的错误是C:\CULVERT2.DBF' is not a valid path

使用 C# 和 .NET 4

为什么看不到文件?

【问题讨论】:

  • 您确定您没有拼错文件名/扩展名吗?

标签: c# oledb oledbconnection


【解决方案1】:

您可能需要在数据源属性和扩展属性周围加上引号:

string connection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\"C:\\CULVERT2.DBF\";Extended Properties=\"dBASE IV;\"";

此外,您可能需要验证文件的名称是否与您所拥有的完全一致,并且您拥有该文件的权限;)

更新:

您只需要指定文件夹,而不是http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/7a3f7bc0-a5c5-45ee-a488-fc262e795ec6 中的文件名。在你的情况下,这只是C:\

【讨论】:

  • 很遗憾,这个解决方案不起作用,我收到了同样的错误。 'C:\CULVERT2.DBF' 不是有效路径。还验证了文件名。它拼写正确,并且全部大写。
  • 您能否验证权限是否可用于任何尝试打开连接的进程?
  • 我刚刚以管理员身份运行 Visual Studio 并实施了您的解决方案,因此它应该具有正确的权限,但它仍然给了我同样的错误。
  • 这是作为 WinForms 应用程序还是作为网站/服务运行?默认情况下,Web 应用程序不会拥有与运行 Visual Studio 的用户相同的权限。
  • 这是一个从不接触互联网的桌面应用程序。
【解决方案2】:

正如 PinnyM 所说,它可能与权限有关。尝试此 SO 问题中给出的 Sql Server 解决方案:

Unable to open the physical file Operating system error 32

【讨论】:

    【解决方案3】:

    试试这个:

    string connection = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\CULVERT2.DBF;Extended Properties=dBASE IV;";
    

    【讨论】:

    • 遗憾的是,尝试使用此字符串打开连接时,我仍然遇到相同的错误。 'C:\CULVERT2.DBF' 不是有效路径。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-08
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    • 2013-02-11
    相关资源
    最近更新 更多