pdo dblib mssql 连接错误


Pdo Dblib Mssql Connection Error

我使用我的同步系统已经 2 年了。我没有改变任何东西。今天,同步系统坏了。我收到了一条错误消息。

Connection failed: SQLSTATE[01002] Adaptive Server connection failed (severity 9)

我用谷歌搜索。

我了解了freetds版本问题。

为了检查它

我用 ssh 写了这一行

TDSVER=7.0 tsql -H 78.***.***.49 -p 1433 -U DBNAME

我收到了这条消息。

locale is "tr_TR.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Msg 18456 (severity 14, state 1) from *****SERVER Line 1:
    "Login failed for user 'DBNAME'."
Error 20002 (severity 9):
    Adaptive Server connection failed
There was a problem connecting to the server

同样的错误。

我正在使用 dblib 通过 pdo 进行连接。

我该怎么办?问题出在哪里?

更新:

我在php manuel中阅读了这部分

"如果无法使用SqlSrv,您可以使用PDO_ODBC驱动程序连接到Microsoft SQL Server和Sybase数据库,因为本机Windows DB-LIB是古老的,线程不安全,不再受Microsoft支持。

我的免费TDS设置

Version: freetds v0.91
             freetds.conf directory: /etc
     MS db-lib source compatibility: yes
        Sybase binary compatibility: yes
                      Thread safety: yes
                      iconv library: yes
                        TDS version: 4.2
                              iODBC: no
                           unixodbc: yes
              SSPI "trusted" logins: no
                           Kerberos: yes

太荒谬了。但我发现了问题所在。

"强制密码过期"已打开。Windows强制更改数据库密码。当我禁用它时,我们解决了问题。