PHP中的Foxpro数据库连接通过UNC路径

时间:2015-01-27 06:21:24

标签: php foxpro

美好的一天。我真的需要帮助。

我需要在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(); 

谢谢!

2 个答案:

答案 0 :(得分:0)

我认为网络服务器和文件服务器是Windows?如果您在Internet Information Server中使用匿名授权,则该请求将模拟为Windows用户。在标准配置中,这将是IUSR。此用户需要能够访问共享并具有该文件的读/写权限。

IUSR是本地用户。它不包含在域中。因此,请检查共享的安全设置,看看是否包含IUSR。

答案 1 :(得分:0)

您的连接字符串中似乎有错误。

  1. 尝试将IP地址更改为服务器的名称。
  2. 用反斜杠替换斜杠。
  3. 删除DBF文件名。
  4. 这是我刚刚测试过的一个例子,它在我身边很好用:

    Provider=VFPOLEDB.1;Data Source=\\hostname\Shared Folders\somefolder\;Password="";Collating Sequence=MACHINE