【问题标题】:Connot connect to .dbf file in C#无法连接到 C# 中的 .dbf 文件
【发布时间】:2016-11-06 14:39:02
【问题描述】:

我正在尝试在 ASP.NET 中连接访问 *.dbf 文件,选择一些数据并以 html 显示。但是我无法建立联系。我想,问题出在连接字符串上。

OdbcConnection conn = new OdbcConnection();
conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.12.0;Data Source=c:\Data;Extended Properties=dBASE 5.0;User ID=Admin;Password=;";

conn.Open();

我收到以下错误:

ERROR [IM002] [Microsoft][ODBC Driver Manager] 数据源名称不正确 已找到但未指定默认驱动程序

不幸的是,旧问题中发布的解决方案都没有解决我的问题。

我正在使用 Visual Studio Community 2015,Windows 10 64 位。

我猜,Provider 可能是错的。但是我在这个主题上不太好,所以我不知道如何以正确的方式做到这一点。非常感谢您提供一些分步说明和任何有用的建议。

*.dbf 文件是此处存档中的文件之一: DBF File

【问题讨论】:

  • 查看this site 并尝试不同的连接字符串(提供者)。
  • 你的连接字符串就是这个 - Data Source=c:\Data - 你不需要提供文件名吗?

标签: c# asp.net .net database dbf


【解决方案1】:

Jet 4.0 只能在 32 位模式下工作。您需要更新您的应用程序以在 32 位模式下运行。从 connectionstrings.com 查看有关 running jet in 32 bit mode on a 64 bit machine 的信息。

您可以从显示microsoft dbf connection 的 connectionstrings.com 看到此参考。它似乎使用罗马数字而不是 5.0,就像您用于 dbase 版本一样。

【讨论】:

    【解决方案2】:

    我设法连接到此代码,但需要安装 VFPOLEDB 驱动程序。

    private DataTable myTable()
    {
            OleDbConnection conn = new OleDbConnection("Provider=VFPOLEDB.1;Data Source=c:\\Data\\;Extended Properties=dBASE IV;User ID=;Password=;");
            conn.Open();
    
            string query = "SELECT * FROM d:\\data\\Earthquakes1970";
            OleDbCommand cmd = new OleDbCommand(query, conn);
    
            DataTable dt = new DataTable();
            dt.Load(cmd.ExecuteReader());
    
            conn.Close();
    
            return dt;
        }
    

    【讨论】:

    • 您的连接应指向数据表 (.dbf) 文件所在的 PATH。那么您的查询可以只引用表名而没有完全限定的路径引用。更容易处理,特别是如果路径发生变化,您只需更改路径的连接字符串。
    【解决方案3】:

    你应该试试这个。我正在使用 Windows 10 和 Visual Studio 2010 运行这些代码。

    将您的数据库文件放在 App_Data 文件夹中。并使用以下连接字符串。 它对我有用。

    web.config 文件

    <connectionStrings>
      <add name="conn" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|;Extended Properties=dBASE IV;User ID=Admin;Password=;" />
    </connectionStrings>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-19
      相关资源
      最近更新 更多