Php阅读Foxpro DBF文件

时间:2013-11-05 04:06:26

标签: php odbc xampp oledb dbf

我需要使用PHP进行记录搜索并在Foxpro dbf文件中显示。我的dbf文件名为icitem.DBF,我使用的是ODBC和OLEDB方法,但都返回错误。

方法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错误:[Microsoft] [ODBC Visual FoxPro驱动程序]无法打开文件c:\ xampp \ htdocs \ db \ stock.dbc。,C:\ xampp \ htdocs \ hottemp \中的SQLExecDirect中的SQL状态S1000第9行的index.php [Microsoft] [ODBC Visual FoxPro驱动程序]无法打开文件c:\ xampp \ htdocs \ db \ stock.dbc。

方法2: 我在http://www.microsoft.com/en-us/download/details.aspx?id=14839

安装了visual foxpro 9的microsoft ole db provider

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堆栈跟踪:#0 C:\ xampp \ htdocs \ index.php(8):com->执行('SELECT * FROM i ...')#1 {main}在第8行的C:\ xampp \ htdocs \ index.php中抛出

看起来两个输出都需要stock.dbc而不是icitem.dbf?我只有icitem.dbf和icitem.fpt。

1 个答案:

答案 0 :(得分:0)

我知道这已经老了但是要帮助别人......

我也有这个问题。我使用这个库解决了它:http://adodb.sourceforge.net/