Connot连接到C#中的.dbf文件

时间:2016-11-06 14:39:02

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

我试图在ASP.NET中连接access * .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();

我收到以下错误:

  

错误[IM002] [Microsoft] [ODBC驱动程序管理器]数据源名称不是   找到并且没有指定默认驱动程序

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

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

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

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

3 个答案:

答案 0 :(得分:0)

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

的信息

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

答案 1 :(得分:0)

我设法连接此代码,但需要安装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;
    }

答案 2 :(得分:0)

你应该试试这个。我正在使用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>