簡體   English   中英

如何連接到dbf數據庫

[英]how to connect to dbf database

我嘗試使用C#連接到DBF數據庫(我嘗試3種類型的連接)

string connectionString = @"Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:\employees.dbf;";
string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\employees.dbf;Extended Properties=dBASE IV;";
string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\employees.dbf;Extended Properties=dBASE IV;User ID=Admin;Password=;";

using (OdbcConnection connection = new OdbcConnection(connectionString))
{
    connection.Open();
}

我收到了錯誤

ERROR1:

錯誤[HY024] [Microsoft] [ODBC dBase驅動程序]'(未知)'不是有效路徑。 確保路徑名拼寫正確,並且您已連接到文件所在的服務器。
錯誤[IM006] [Microsoft] [ODBC驅動程序管理器]驅動程序的SQLSetConnectAttr失敗
錯誤[HY024] [Microsoft] [ODBC dBase驅動程序]'(未知)'不是有效路徑。 確保路徑名拼寫正確,並且您已連接到文件所在的服務器。

或錯誤2:

錯誤[IM002] [Microsoft] [ODBC驅動程序管理器]未找到數據源名稱且未指定默認驅動程序

可能是什么問題?

提前致謝

Dim Conn As New OLEDBConnection  
Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\folder;Extended Properties=dBASE IV;User ID=Admin;Password=;"

要從數據庫表中進行選擇,您必須執行以下操作(例如):

"SELECT * FROM tblCustomers.DBF"

(注意表名后的.DBF)

兩件事情:

首先,嘗試以下連接字符串:

string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\;Extended Properties=dBASE IV;";

請注意,您沒有在連接字符串中指定文件名(這將是SELECT或其他語句的一部分),只是文件所在的路徑。

打開連接后,即使用文件名。 例如:

OleDbCommand cmd = new OleDbCommand("SELECT * FROM Employees");

請注意,您不添加“.dbf”擴展名(假設 - 事實上,該文件必須具有.dbf擴展名,否則將無法識別和讀取,至少根據我的經驗)。

編輯

我有使用DBF文件(一次數百到數千)的“特權”,比我想要的更多。 如果你仍然有問題發表評論,明天我會在工作時看一看 - 上面的內容大部分都是我的頭腦,只是用谷歌搜索。

嘗試這個 :

System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection ("Driver={Microsoft Visual FoxPro Driver};
SourceType = DBF;
SourceDB = " + System.IO.Path.GetFullPath(strFileName).Replace(System.IO.Path.GetFileName(strFileName), "") + ";Exclusive=No");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM