【问题标题】:Using pdo_dblib to connect to the sybase failed使用 pdo_dblib 连接 sybase 失败
【发布时间】:2012-11-27 22:59:22
【问题描述】:

我想使用 PDO 连接到使用 PHP pdo_dblib 的 Sybase。这就是我所做的:

$conn = new PDO("dblib:host=$db_host:$db_port;dbname=$db_name","$login","$password"); 

它告诉我SQL Null error。我不知道如何正确处理。我检查了 php 信息,并且 pdo_dblib 在那里。

PDO Driver for FreeTDS/Sybase DB-lib: Flavour
enabled: freetds

顺便问一下,需要数据库端口吗?在此之前,我没有放数据库端口号,加上现在我仍然无法获取端口号。

【问题讨论】:

    标签: php pdo sybase


    【解决方案1】:

    按照以下步骤查找错误原因

    Step1:使用 telnet 连接。

    xxx@ubuntuvbox:~$ telnet 10.1.1.1 5000
    Trying 10.1.1.1...
    Connected to 10.1.1.1.
    

    第二步:配置 FreeTDS

    编辑 freetds.conf,位于 /etc/freetds/ (Ubuntu 11.10)

    [global]
        # TDS protocol version
        tds version = 5.0
        text size = 64512
    

    第 3 步:使用 FreeTDS 进行连接

    xxx@ubuntuvbox:~$ sqsh -S 10.1.1.1:5000 -Usa
    sqsh-2.1 Copyright (C) 1995-2001 Scott C. Gray
    This is free software with ABSOLUTELY NO WARRANTY
    For more information type '\warranty'
    Password: 
    Msg 2401, Level 11, State 2
    Server 'XXXXXX'
    Character set conversion is not available between client character set 'utf8'
    and server character set 'cp850'.
    No conversions will be done.
    1> select * from .....
    

    第四步:使用 FreeTDS 与 PHP 连接

    检查一下...

    $dbh = new PDO ('dblib:host=10.1.1.1:5000;dbname=databasename','sa','password');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-30
      • 1970-01-01
      • 2011-10-29
      • 1970-01-01
      • 2013-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多