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的书写上面有错误。。但是我又不会写啊。
求介绍啊!
上一篇: 分组统计功能
下一篇: sudo php 权限解决思路