2013-11-05 316 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。

回答