美好的一天。我真的需要帮助。
我需要在 PHP 中访问 foxpro 表。
当我使用本地路径作为数据源访问它时,它运行顺利。但是,当我尝试访问另一台计算机上的数据库文件时,它总是提示为无效路径,前提是我在计算机上具有访问权限并且文件是公开共享的。这是我的代码:
$conn = new COM("ADODB.Connection");
$server='172.0.0.8'server';
$conn->Open_basedir('Provider=VFPOLEDB.1;Data Source=//172.0.0.8/server/sysprog/system/tempstk.dbf;Collating Sequence=MACHINE');
// SQL statement to build recordset.
$rs = $conn->Execute("SELECT * FROM tempstk");
echo "<p>List of couriers:</p><hr>";
// Display all the values in the records set
while (!$rs->EOF) {
$fv = $rs->Fields("Prodcode");
echo $fv->value."<br>'n";
$rs->MoveNext();
}
$rs->Close();
谢谢!
我假设网络服务器和文件服务器是窗口?如果在 Internet 信息服务器中使用匿名授权,则请求将模拟为 Windows 用户。在标准配置中,这将是 IUSR。此用户需要能够访问共享并对文件具有读/写权限。
IUSR 是本地用户。它不包含在域中。因此,请检查共享的安全设置,并查看是否包含 IUSR。
连接字符串中似乎有错误。
- 尝试将 IP 地址更改为服务器的名称。 将斜杠
- 替换为反斜杠。
- 删除 DBF 文件名。
这是我刚刚测试过的一个例子,它对我来说工作正常:
Provider=VFPOLEDB.1;Data Source=''hostname'Shared Folders'somefolder';Password="";Collating Sequence=MACHINE