使用PDO的odbc通过Windows身份验证连接到MSSQL服务器实例

时间:2015-04-13 13:46:24

标签: php sql-server pdo windows-authentication dsn

我尝试使用带有odbc的PDO连接到MSSQL数据库。我知道有一个包SqlSrv(但由于某种原因,包(.dll)无法正确加载)。所以我发现一些文档认为它也可能与PDO一起使用。在我的PHP.ini我已启用扩展程序php_pdo_odbc.dll并且加载正常。

我的连接字符串如下所示:

$conn = new PDO(
    'odbc:
        Driver=SQL Server;
        Server=MyServer\MyInstance;
        Database=MyDatabaseName;
        Trusted Connection=Yes;',
    'MyWindowsUserName',
    'MyWindowsPassword'
);

我尝试了各种属性(例如,通过将域名添加到用户名,使用身份验证选项User Id,UID,Password,PWD和Trusted Connection进行切换)但我不断收到消息

  

SQLSTATE [28000] SQLDriverConnect:18456 [Microsoft] [ODBC SQL Server   驱动程序] [SQL Server]用户' MyWindowsUserName'登录失败。

有关如何使用Windows帐户连接数据库的任何建议? (这是我连接数据库的唯一途径)

2 个答案:

答案 0 :(得分:0)

尝试删除用户名&密码

$conn = new PDO(
    'odbc:
        Driver=SQL Server;
        Server=MyServer\MyInstance;
        Database=MyDatabaseName;
        Trusted Connection=Yes;'
);

答案 1 :(得分:-1)

我已通过Windows验证以下PHP语句: 这是我的代码:

$ Conn = new PDO ("odbc: Driver = {SQL Server}; Server=JAMILI-PC\SQLEXPRESS; null; null");
  • 我使用的是Windows 2008。
  • 我希望它能解决你的问题。
相关问题