在与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地址连接)。
任何想法为何我无法与外部连接?
答案 0 :(得分:0)
允许外部防火墙上的TCP端口1433,您需要联系防火墙团队。
来源:您的应用服务器IP。 目标:您的SQL Server IP。 端口: 1433(如果您尚未更改默认端口,则如果更改,则请防火墙团队允许该端口)