我使用我的同步系统已经 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强制更改数据库密码。当我禁用它时,我们解决了问题。