2012-09-05 127 views
1

有誰知道我可以如何在Linux網絡服務器上安裝Ms SQL擴展2005?該網絡服務器目前有FreeTDS庫版本,我不知道這意味着什麼。但是,當我嘗試連接它並沒有說從Linux連接到MsSQL db

mssql_connect() does not exist 

但它說

Unable to connect to server: xx.xx.xx.xx 

我假定這是因爲擴展的版本,因爲我與發生在Windows這個問題ntwdblib.dll。但我不知道如何在Linux上解決這個問題。

我只需要使用這些功能。該數據庫位於Windows服務器上,因此我想使用mssql_connect()連接到它。

網絡服務器不是我自己的,它是一個託管公司,我碰巧知道託管服務器,所以我不能問他是否可以安裝Windows或其他任何東西。那麼有人能告訴我它如何在Linux上工作嗎?

我用我自己的電腦測試過它,我可以從我的電腦連接到Windows服務器。但它不web服務器,它說:

unable to connect to the server: "ip" 
+0

你確定'ip'可以從linux的盒子?你嘗試了ping或telnet連接? –

+0

是的,我用自己的電腦連接到它,它的工作沒有任何問題 –

+0

我沒有問你自己的電腦。我問的是Linux網絡服務器。 –

回答

0

有由兩個部分組成的:

freetds的......你需要編輯/etc/freetds.conf包括連接的定義。

[CON1] 
    host = xxx.xxx.xxx.xxx 
    port = 1433 
    tds version = 8.0 
    client charset = UTF8 
    text size = 20971520 

[CON2] 
    host = xxx.xxx.xxx.xxx\PIPENAME 
    port = 1433 
    tds version = 8.0 
    client charset = UTF8 
    text size = 20971520 

然後,我會直接忽略mssql_commands,並使用PHP ADODB(http://adodb.sourceforge.net/)連接並運行查詢(尤其是如果yoi打算執行存儲的特效 - PDO的作品太多,但ADODB工作,是可靠和一致與SQL Server)。要連接到SQL服務器使用它,一旦你已經獲得它等:

$dbMS1=ADONewConnection("mssql"); 
    $dbMS1->Connect('CON1','brs','TFaqAIs8'); 
    $dbMS1->SelectDB('TheDatabase'); 

    $sql = "SELECT ......."; 

    $rs = $dbMS1->Execute($sql);