php pdo连接到mssql实例

时间:2015-01-12 15:39:23

标签: php sql-server pdo

我遇到了从PHP连接到MSSQL数据库的问题。

我们在同一台linux服务器上有2个应用程序。

  • App A连接到“简单”的MSSQL服务器+数据库,没有问题。
  • App B连接到MSSQL服务器+ INSTANCE +数据库,无法连接。

数据库位于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连接到此数据库的其他方法作为建议。

1 个答案:

答案 0 :(得分:2)

每个MSSQL服务器实例都在自己的端口号上运行。 您可以将MSSQL Server实例配置为使用固定端口号而不是动态端口号(这是默认值)。

配置固定端口后,只需使用PDO连接到该端口号即可。不再需要在dsn或任何其他设置中引用该实例。