我需要做一个记录搜索和使用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。