从Linux连接到MsSQL db

时间:2012-09-05 07:23:57

标签: php sql linux apache

有谁知道如何在Linux网络服务器上安装Ms SQL扩展2005?网络服务器目前有FreeTDS库版本,我不知道这意味着什么。但是,当我尝试连接时,它没有说

mssql_connect() does not exist

但它说

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

我认为这是因为扩展版本,因为我在ntwdblib.dll的窗口上发生了这个问题。但我不知道如何在Linux上解决这个问题。

我只需要使用这些功能。数据库位于Windows服务器上,因此我想使用mssql_connect()连接到它。

网络服务器不是我自己的,它是一个托管公司,我碰巧知道主机,所以我不能问他是否可以安装Windows或任何东西。那么有人能告诉我它如何适用于Linux吗?

我用自己的电脑测试过,我可以从电脑连接到Windows服务器。但是从网络服务器来看它并没有,它说:

unable to connect to the server: "ip"

1 个答案:

答案 0 :(得分: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 server:

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

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

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