SQLSTATE 未知主机名称(严重性2)

我有一个问题,我无法找到解决方案,我希望你能帮助我。 我回滚了我的服务器,现在没有任何php脚本可以连接到其他服务器。 这些脚本是最新的,因为回滚是从上周开始的。

我收到SQL错误:

SQLSTATE [HY000]未知主机名称(严重性2)

在cmd我得到:

SQLState = S1T00,NativeError = 0错误= [unixODBC] [Microsoft] [SQL Server Native Client 11.0]登录超时到期
d SQLState = 08001,NativeError = 10022错误= [unixODBC] [Microsoft] [SQL Server Native Client 11.0]建立与SQL Ser的连接时发生了与网络相关或特定于实例的错误
版本。 找不到服务器或无法访问服务器。 如果SQL Server配置为允许远程连接,请检查实例名称是否正确。 欲获得更多信息
请参阅SQL Server联机丛书。 SQLState = 08001,NativeError = 10022错误= [unixODBC] [Microsoft] [SQL Server Native Client 11.0] TCP提供程序:错误代码0x2726

在telnet上我可以连接到远程服务器。 sqlcmd还允许我连接到远程服务器

如果有人能帮助我,请 我不知道接下来该做什么。 非常感谢所有帮助。

这是尝试连接的测试脚本

$link = mssql_connect('xx.xxx.xxxx.xx,1433','myuname','mypwd'); if (!$link) { die('Something went wrong while connecting to MSSQL:'. mssql_get_last_message()); } 

对我的修复有三个步骤:

首先,我编辑了/etc/freetds/freetds.conf并更改了tds版本,如下所示:

 tds version = 8.0 

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

最后,要正确连接,我必须重新启动网络,因为@ user1054844 提到了这个:

 /etc/init.d/networking restart 

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

我只需要修改etc / network并修改interfaces文件即可
sudo /etc/init.d/networking restart由于某种原因,dns-namesevers错了。