无法通过外部连接连接到SQL Server,但通过内部连接可以正常连接

时间:2020-10-02 16:25:07

标签: php sql-server

在与SQL Server相同网络上的内部连接上,我可以使用以下连接字符串连接OK:

$servername = "1.1.1.1\namedinstance";
$loguser = "user";
$logpassword = "password";
$database = "dbname";

$odbc="odbc:Driver={SQL Server};Server=$servername;Database=$database;";
$db = new PDO( $odbc , $loguser, $logpassword);

但是,从外部服务器上,我收到以下错误消息:

“致命错误:未捕获的PDOException:SQLSTATE [HYT00] SQLDriverConnect:0 [Microsoft] [SQL Server的ODBC驱动程序17]登录超时已在...中过期”。

我还可以从外部连接到旧的SQL Server,该连接字符串与上面的新字符串之间的唯一区别是添加了命名实例(以前的工作版本仅通过IP地址连接)。

任何想法为何我无法与外部连接?

1 个答案:

答案 0 :(得分:0)

允许外部防火墙上的TCP端口1433,您需要联系防火墙团队

来源:您的应用服务器IP。 目标:您的SQL Server IP。 端口: 1433(如果您尚未更改默认端口,则如果更改,则请防火墙团队允许该端口)