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的書寫上面有錯誤。。但是我又不會寫啊。
求介紹啊!