我遇到了一个问题,找不到解决方案,希望您能帮助我。我回滚了我的服务器,现在所有 php 脚本都无法连接到其他服务器。脚本是最新的,因为回滚是上周进行的。
我收到 SQL 错误:
SQLSTATE[HY000] 未知主机名称(严重性 2)
在 cmd 上我得到:
SQLState = S1T00,NativeError = 0 错误 = [unixODBC][Microsoft][SQL Server Native Client 11.0]登录超时已过期
SQLState = 08001,NativeError = 10022 错误 = [unixODBC][Microsoft][SQL Server Native Client 11.0]与 SQL Server 建立连接时发生与网络相关或特定于实例的错误
。找不到服务器或无法访问服务器。请检查实例名称是否正确,以及 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());
}
答案1
对我来说,解决方法分为三个步骤:
首先,我编辑/etc/freetds/freetds.conf
并更改了 tds 版本,如下所示:
tds version = 8.0
第二步是没有输入端口号。端口已经是 1433,不指定端口号可以解决我遇到的完全相同的问题。
最后,为了正确连接,我必须以@user1054844 的身份重新启动网络提及像这样:
/etc/init.d/networking restart
完成所有这些步骤后,我就可以连接并使用 SQL Server 数据库了。
答案2
我只需要修改 etc/network 并修改接口文件,然后
sudo /etc/init.d/networking restart
由于某种原因,dns-namesevers 是错误的。