我用PHP 5.5.12运行WAMP 2.5。我试图使用odbc_connect
连接到FoxPro数据库并最终查询某些记录。但后来我意识到不再保留dbase
,这将允许我访问dbf数据库的记录。所以我尝试使用ODBC
代码:
<?php
$dsn = "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=C:\wamp\www\chartnames.dbf;Exclusive=NO;collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO;";
$conn = odbc_connect($dsn, "", "");
if (!$conn)
exit("Connection Failed: " .$conn );
//select rows
$rs = odbc_exec($conn, 'SELECT * FROM chartnames');
//display the results
$string = odbc_result_all($rs);
?>
但是当我运行此代码时,我收到一条错误消息:
如果您无法阅读错误,请说明:
警告:odbc_connect():SQL错误:[Microsoft] [ODBC驱动程序管理器] 驱动程序不支持此功能,SQL Connect中的SQL状态IM001
我在php.net上查找了ODBC我发现统一ODBC函数只支持某些数据库:Adabas D
,IBM DB2
,iODBC
,Solid
,和Sybase SQL Anywhere
。
是否可以使用新版本的PHP连接和查询.dbf
FoxPro表?或
提前谢谢。
更新
我知道不再支持ODBC驱动程序,因此它们提供OLEDB。我找到了来自here的OLEDB连接字符串。所以我尝试用这个连接字符串替换$dsn
变量:Provider=vfpoledb.1;Data Source=c:\directory\demo.dbc;Collating Sequence=machine
但是我得到了与上述相同的错误。是什么给了什么?