2012-09-13 226 views
1

我想讓這3個很好地工作。如果我用這個連接字符串德爾福+ ADO + dBase

Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;OLE DB Services = -1;Extended Properties=dBase IV;Dbq=c:\mypath 

ADOTable1.Open做的操作是非常快的(好),但GetIndexNames回報什麼(不好)。

如果我改用此連接字符串

Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=dBASE IV;OLE DB Services=-1;Data Source=c:\mypath 

ADOTable1.Open做的操作是非常緩慢的(壞的),而GetIndexNames不會返回索引名稱它應該(好)的方式。

如何通過ADO爲dBase表獲得速度和索引信息?

回答

2

我們使用以下連接字符串,它工作得很好。

Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="Driver={Microsoft Visual FoxPro Driver};UID=;SourceDB=c:\mypath;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;" 
+0

我打算給一個鏡頭並報告回來。謝謝! – Cromulent

+0

當我在TADOConnection.ConnectionString屬性編輯器中放入此字符串並嘗試將Connected屬性翻轉爲True時,IDE內部出現錯誤 - >「[Microsoft] [ODBC Driver Manager] Driver does not support this function」。我很確定我有其他屬性的默認值。模式是cmUnknown。 CursorLocation是clUseClient。 IsolationLevel是ilCursorStability。 ConnectOptions是coConnectUnspecified。我記得要爲我自己的SourceDB路徑。我可能會缺少什麼? – Cromulent

+0

您是否檢查過Provider屬性設置爲「MSDASQL.1」?你可以嘗試刪除一些選項? –