【问题标题】:MSSQL VIA FreeTDS, ODBC, and Cpanel Unknown host machine name (severity 2)MSSQL VIA FreeTDS、ODBC 和 Cpanel 未知主机名称(严重性 2)
【发布时间】:2014-06-08 14:11:04
【问题描述】:

我在运行 Centos 6.5x64 的 Cpanel 服务器上安装了 FreeTDS 0.91,ODBC。一切似乎都运行良好,我可以使用以下方式连接到远程 MSSQL 2012 服务器:

/usr/local/freetds/bin/tsql -S sqlserver -U test -P mypassword

并成功在数据库中执行查询。

我也可以通过以下方式连接:

isql -v sqlserverdatasource test mypasswordhere

但由于某种原因/usr/local/freetds/bin/tsql -LH server.ip.here

当证明我可以使用上述其他方法时,不返回没有多大意义的信息或错误。

所以现在当我从机器上的 cpanel 帐户运行测试脚本时,我得到:

Unknown host machine name (severity 2)

这是测试脚本:

//Database connection function.
function getConnection() {
    try {

    //$dbconnect = new PDO("sqlserver:Server=server.ip.here,1433;Database=dbname", "user", "password");
    $dbconnect = new PDO("dblib:host=server.ip.here,1433;dbname=dbname", 'user', 'password'); 
    } catch (PDOException $e) {
        echo "CONNECTION ERROR.<br>Error message:<br><br>" . $e->getMessage();
        die();
    }
    if (!$dbconnect) {
        die('Cant connect to database. Please try again later!');
    }
    else{
        echo "i'm in!";
        return $dbconnect;
    }
}

第一个注释行是使用 sqlserv 的旧行,我发现它根本不起作用,因为 x64 操作系统。我还尝试在用户周围使用"" 并通过以及根本没有标记。

php -m 确实显示 PDOpdo-dblib

有什么好主意吗?

更新:已修复。我错过了freetds.conf

[global]
    # TDS protocol version
    tds version = 8.0

最初设置为 4.5 而不是 8。

【问题讨论】:

    标签: php sql-server pdo odbc cpanel


    【解决方案1】:

    我的解决方法是三个步骤:

    首先,我编辑了/etc/freetds/freetds.conf,并把tds版本改成这样:

    tds version = 8.0
    

    第二步是没有输入端口号。端口已经是 1433,并且没有指定它解决了我的情况完全相同的问题。

    最后,要正确连接,我必须以 @user1054844 mentioned 的身份重新启动网络,如下所示:

    /etc/init.d/networking restart
    

    完成所有这些步骤后,我能够连接并使用 SQL Server 数据库。

    【讨论】:

      【解决方案2】:

      实际上您根本不需要 ODBC,因为您的连接脚本使用的是 pdo_dblib 而不是 odbc。您可以只安装 FreeTDS,而不是通过 rawopts 中的编译时间标志启用 pdo_dblib 并通过 EasyApache 重建。当然,这方面的 cPanel 细节有些不同。

      我只是为朋友做的,并决定记录下来,因为在 cPanel 上很难找到 FreeTds 和 pdo_dblib 的准确信息。

      指南在这里:FreeTDS And pDO_dblib On cPanel

      【讨论】:

        猜你喜欢
        • 2015-06-16
        • 1970-01-01
        • 2015-10-08
        • 2021-08-18
        • 2012-08-28
        • 1970-01-01
        • 1970-01-01
        • 2013-11-29
        • 1970-01-01
        相关资源
        最近更新 更多