1

我需要使用 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 Driver]无法打开文件 c:\xampp\htdocs\db\stock.dbc., SQL 状态 S1000 in SQLExecDirect in C:\xampp\htdocs\ hottemp\index.php 在第 9 行 [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 提供程序

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' 带有消息 '来源: Microsoft OLE DB Provider for Visual FoxPro
描述:无法打开文件 c:\xampp\htdocs\db\stock.dbc。在 C:\xampp\htdocs\index.php:8 堆栈跟踪:#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。

4

1 回答 1

0

我知道这很旧,但要帮助别人......

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

于 2015-03-13T23:22:37.427 回答