PHP 链接DBF

原创
2016-06-23 14:13:34 1412浏览

PHP DBF LAN

在本地电脑安装ODBC驱动,PHP 链接DBF文件。。

如果文件是放在本地磁盘上,只要输入c:\BatMan\Daten\histwech.dbf即可使用,
但是如果要链接局域网里面其他电脑上的DBF文件,应该如何定义这个文件的绝对路径呢?

求大神指导。。

PS ..上次有位大神说如此就写\\pc69\c$\xxx.dbf ,测试了无效果啊,PC69是局域网内电脑的名字,我们是应该使用名字还是该使用IP地址呢?为什么用这个方式连接本地磁盘不行呢。。假设本机叫pc70..如果这样写
$add='\\pc70\c$\BatMan\Daten\histwech.dbf';
报错如下>Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC Visual FoxPro Driver]Fox Error 1, SQL state S1000 in SQLConnect in C:\AppServ\www\batman\batmanliste.php on line 34

Warning: odbc_exec(): supplied argument is not a valid ODBC-Link resource in C:\AppServ\www\batman\batmanliste.php on line 132
求大神解释下啊。。

回复讨论(解决方案)

你的链接文件源码拿出来看看??

$add='\\\\192.168.1.70\c$\BatMan\Daten\histwech.dbf';
$e="Driver={Microsoft Visual FoxPro Driver};SourceType=DBf;SourceDB=".$add.";Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO;";
$odbc=odbc_connect($e,'','');

本地机子IP地址是192.168.1.70 本地磁盘是c 或者D 。。这样写都是可以的。。

但是局域网内例如 PC69, IP地址是192.168.69 磁盘也是C。。
这样写$add='\\\\192.168.1.69\c$\BatMan\Daten\histwech.dbf';就不可以。。

再着,我在自己电脑上进行了局域网连接,把\\PC69\C创建为Y: 然后尝试把$add='\\\\192.168.1.70\Y$\BatMan\Daten\histwech.dbf';这样也是不行。。。

求大神快帮忙啊。。

同一资源定位:
//主机名/共享名/路径/文件名

//IP/共享名/路径/文件名

你原来的 C$ 是假定 C 盘没有做显式的共享,而直接取系统默认的共享名
你可以在命令行或vfp中这样使用,但不一定能在 php 中这样使用
这取决于 php 编译时的开关状态

你或许需要在 php 服务器上对其他机器上的 dbf 做 ODBC 数据源创建


大神,我看不懂你说的啊。。
急死的了。。

什么是同一资源定位啊?什么又是共享名呢??
如果我必须要用PHP连接呢?到底该怎么写啊?

我只是想读取局域网内其他机子上的dbf文件、我的报错在odbc_connect上都是OK的。但是在读取sql语句的时候报错!并且都是说找不到文件,所以我觉得应该是SourceDB的书写上面有错误。。但是我又不会写啊。

求介绍啊!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。