2013-11-05 353 views
1

我需要做一個記錄搜索和使用PHP在Foxpro dbf文件中顯示。我的dbf文件名稱icitem.DBF,我使用ODBC和OLEDB方法,但都返回錯誤。Php讀取Foxpro DBF文件

方法1: 我設法安裝FoxPro ODBC驅動程序並創建一個系統的DNS,下面是我的PHP腳本和輸出。

php腳本:

$odbc = odbc_connect ("myDB", "" , ""); 
$strsql= "SELECT * FROM icitem WHERE CAT=820"; 
$query = odbc_exec($odbc, $strsql) or die (odbc_errormsg()); 
odbc_close($odbc); 

輸出: 警告:odbc_exec():SQL錯誤:[微軟] [ODBC Visual FoxPro驅動程序]無法打開文件C:\ XAMPP \ htdocs中\ DB \ stock.dbc 。SQLExecDirect中的SQL狀態S1000在第9行的C:\ xampp \ htdocs \ hottemp \ index.php中 [Microsoft] [ODBC Visual FoxPro驅動程序]無法打開文件c:\ xampp \ htdocs \ db \ stock.dbc。

方法2: 我安裝有關VisualFoxPro 9的Microsoft OLE DB提供在http://www.microsoft.com/en-us/download/details.aspx?id=14839

PHP腳本:

$conn = new COM("ADODB.Connection") ; 
$conn->Open('Provider=vfpoledb;Data Source=C:\xampp\htdocs\db; 
Collating Sequence=machine;'); 
$query="SELECT * FROM icitem WHERE CAT=820"; 
$conn->Execute($query); 
$conn->Close(); 

輸出: 致命錯誤:未捕獲的異常 '發出com_exception' 與消息「資料來源:用於Visual FoxPro的Microsoft OLE DB提供程序
說明:無法打開文件c:\ xampp \ htdocs \ db \ stock.dbc。在C:\ xampp \ htdocs \ index.php:8 Stack trace:#0 C:\ xampp \ htdocs \ index.php(8):com-> Execute('SELECT * FROM i ...')#1 { main}在第8行拋出C:\ xampp \ htdocs \ index.php

看起來兩個輸出都需要stock.dbc而不是icitem.dbf?我只有icitem.dbf和icitem.fpt。

回答