作者 主題: 請問使用經驗,關於 on linux use php + adodb connect MSSQL  (閱讀 6627 次)

0 會員 與 1 訪客 正在閱讀本文。

shengeih

  • 鑽研的研究生
  • *****
  • 文章數: 970
    • 檢視個人資料
在 linux 一直試不出來.不曉得有沒有人可以跟學弟我討論的呢?

梁楓

  • 俺是博士!
  • *****
  • 文章數: 6220
    • 檢視個人資料
你先用PHP 直接連MSSQL
連的上嗎?

shengeih

  • 鑽研的研究生
  • *****
  • 文章數: 970
    • 檢視個人資料
目前不行,是不是應該要再 linux 裝 可以支援 mssql 的聯接庫?

jianchenyan

  • 憂鬱的高中生
  • ***
  • 文章數: 94
    • 檢視個人資料
把錯誤訓息貼出來唄
看連線錯誤問題是什麼
也許是帳密錯 , 或port
錯或等等的........

damon

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 4227
    • 檢視個人資料
    • http://blog.damon.tw/
要先把freetds安裝起來吧,然後php要有加入mssql module,先檢查看看這些有沒有問題

梁楓

  • 俺是博士!
  • *****
  • 文章數: 6220
    • 檢視個人資料
連 PHP 直接連都還不行...
那用 adodb怎麼可能可以?

shengeih

  • 鑽研的研究生
  • *****
  • 文章數: 970
    • 檢視個人資料
我在 /usr/lib/php/module/ 裡面有個 mssql.so
然後編輯 /etc/php.ini 新增一行 extension=mssql.so

這樣應該是否代表可以正常啟動連接 mssql ?

shengeih

  • 鑽研的研究生
  • *****
  • 文章數: 970
    • 檢視個人資料
代碼: [選擇]

<?php
include &#40;"./adodb/adodb.inc.php"&#41;;
$mch="192.168.0.87";
$user="Shengeih";
$pwd="XXXXXXXXX";
$database="BatchService";

$conn = &ADONewConnection&#40;'mssql'&#41;;

$cok $conn->Connect&#40;$mch, $user, $pwd, $database&#41;;

if &#40;!$cok&#41; &#123; echo "無法連接資料庫 $database"; exit; &#125;

//$sql = "INSERT INTO TABLE1 &#40;ID&#41; VALUES &#40;'2266'&#41;";
$sql "SELECT * FROM BTMAIN";

$rs $conn->Execute&#40;$sql&#41;;

    
while &#40;!$rs->EOF&#41; &#123;
        // 秀出所有欄位,$FieldCount&#40;&#41; 會傳回欄位總數
    
for &#40;$i=0, $max=$rs->FieldCount&#40;&#41;; $i < $max; $i++&#41; &#123;
        
print $rs->fields[$i&#93; . " ";
    
&#125;

        // 移至下一筆記錄
    
$rs->MoveNext&#40;&#41;;

    // 換列
    
echo "<br>\n";
    &
#125;

?>


shengeih

  • 鑽研的研究生
  • *****
  • 文章數: 970
    • 檢視個人資料
其實我已經搞不清楚到底是 linux php 的問題還是 SQL Server 2000 的問題了...= ="

damon

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 4227
    • 檢視個人資料
    • http://blog.damon.tw/
引述: "shengeih"
我在 /usr/lib/php/module/ 裡面有個 mssql.so
然後編輯 /etc/php.ini 新增一行 extension=mssql.so

這樣應該是否代表可以正常啟動連接 mssql ?


你想太多了....php的mssql module也是去呼叫freetds,你的機器還是要有freetds才行,而且編譯的時候路徑也要注意,最好自己用srpm編出來

ocean

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
學長~我找到了些參考資料~從php document裡找到的

Requirements for Unix/Linux platforms.

To use the MSSQL extension on Unix/Linux, you first need to build and install the FreeTDS library. Source code and installation instructions are available at the FreeTDS home page: http://www.freetds.org/

To get these functions to work, you have to compile PHP with --with-mssql[=DIR], where DIR is the FreeTDS install prefix. And FreeTDS should be compiled using --enable-msdblib.

shengeih

  • 鑽研的研究生
  • *****
  • 文章數: 970
    • 檢視個人資料
改用 odbc 解決了...= ="

rice818

  • 可愛的小學生
  • *
  • 文章數: 16
    • 檢視個人資料
引述: "shengeih"
改用 odbc 解決了...= ="


我也是跑 linux + php ... 想行 mssql ..

想請教最後怎樣解決 ?