2016-03-08 41 views
0

使用Delphi XE8。 連接:TFDConnection組分與下一個PARAMS:Firedac Visual Foxpro驅動程序6.0 Delphi中的內存不足錯誤

DriverID=ODBC 
ODBCDriver=Microsoft FoxPro VFP Driver (*.dbf) 
ODBCAdvanced=SourceDB=%s;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=No 

其中%s被替換爲存儲的路徑。

TFDQuery與sql ='select * from utkf'其中utkf是utkf.dbf 此表(utkf)有4百萬條記錄。 驅動程序不接受「select top」指令,然後我無法將值賦予FetchOptions.RecsMax屬性。

如何才能打開它分頁或批量提取? 只能使用FireDac。

回答

0

自VFP6以來,VFP沒有ODBC驅動程序。改用VFPOLEDB(OLEDB)驅動程序。如果您必須使用ODBC驅動程序,那麼請嘗試Advantage Database Server(ALS本地版本是免費的 - 如果您問我使用ALS的經驗,那麼這是不值得的,很久以前安裝,測試和移除,對於那些死的人來說仍然是一種選擇用於本地ODBC訪問VFP數據)。

VFP ODBC驅動程序識別並接受「top」子句(但行爲可能不像MS SQL服務器中那樣,它更像是帶有Ties的TOP)。也許這是你的SQL是錯的? VFP「TOP」需要通過。

順便說一句,您可以使用VFPOLEDB驅動程序對任何版本的Foxpro表。