Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用PDO的odbc通过Windows身份验证连接到MSSQL服务器实例_Php_Sql Server_Pdo_Windows Authentication_Dsn - Fatal编程技术网

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

Php 使用PDO的odbc通过Windows身份验证连接到MSSQL服务器实例,php,sql-server,pdo,windows-authentication,dsn,Php,Sql Server,Pdo,Windows Authentication,Dsn,我正在尝试使用PDO和odbc连接到MSSQL数据库。我知道有一个包SqlSrv,但由于某些原因,该包.dll无法正确加载。所以我找到了一些文件证明PDO也可以。在我的PHP.ini中,我启用了扩展PHP_pdo_odbc.dll,它可以正常加载 我的连接字符串如下所示: $conn = new PDO( 'odbc: Driver=SQL Server; Server=MyServer\MyInstance; Database=MyDat

我正在尝试使用PDO和odbc连接到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、密码、PWD和Trusted Connection进行切换,但我一直收到消息

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


关于如何使用我的Windows帐户连接到数据库,有什么建议吗?这是我连接数据库的唯一方法

尝试删除用户名和密码

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

我已通过Windows使用以下PHP语句进行身份验证: 这是我的代码:

$ Conn = new PDO ("odbc: Driver = {SQL Server}; Server=JAMILI-PC\SQLEXPRESS; null; null");
我正在使用Windows 2008。 我希望它能解决你的问题。
我会试图找出SqlSrv不工作的原因。这是官方的方式,因此更容易长期管理。不幸的是,这不起作用,我已经尝试过了。当我不提供任何凭据时,它会尝试以服务器名称连接。