【问题标题】:php pdo connection to mssql instancephp pdo 连接到 mssql 实例
【发布时间】:2015-03-10 10:22:27
【问题描述】:

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

【问题讨论】:

    标签: php sql-server pdo


    【解决方案1】:

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

    配置固定端口后,您可以使用 PDO 简单地连接到该端口号。无需进一步引用 dsn 或任何其他设置中的实例。

    【讨论】:

      猜你喜欢
      • 2016-10-19
      • 2014-05-07
      • 2013-12-08
      • 2015-11-19
      • 2015-09-28
      • 1970-01-01
      • 1970-01-01
      • 2011-08-22
      • 2014-12-02
      相关资源
      最近更新 更多