我遇到了从PHP连接到MSSQL数据库的问题。
我们在同一台linux服务器上有2个应用程序。
数据库位于MSSQL服务器的“实例”中这一事实似乎是唯一的区别。
文档似乎没有指定如何连接到实例中的数据库。
示例(伪)代码:
<?php
$host="10.0.0.12";
$instance="specific"
$database="my-database"
$username="username";
$password="password";
$pdo = new PDO("dblib:host=${host}\\${instance};database=${database}", $username, $password);
这无法连接,大部分时间都是如此无法提供信息:
SQLSTATE[HY000] Unable to connect: Adaptive Server is unavailable or does not exist (severity 9)
我尝试了很多不同的DSN,看看哪些可行,但似乎都没有效果。
我可以使用什么DSN来实现这一目标?
欢迎从PHP连接到此数据库的其他方法作为建议。
答案 0 :(得分:2)
每个MSSQL服务器实例都在自己的端口号上运行。 您可以将MSSQL Server实例配置为使用固定端口号而不是动态端口号(这是默认值)。
配置固定端口后,只需使用PDO连接到该端口号即可。不再需要在dsn或任何其他设置中引用该实例。