我知道这不是一个新问题,因为我发现了很多类似的问题,但不是解决我的问题的问题。
那么我的问题是我如何使用其他域Windows凭据(不是我登录的那个)连接到远程sql 2000服务器,php在apache(xampp)上运行......并且服务器不运行命名实例。
这些我试过的东西,
- 为我的 php 5.3 安装了 SQL Native 客户端
- 将 .dll 文件放到 ext 文件夹中
- 确保我通过 phpinfo 启动并运行了 sqlsrv
- mssql.secureconnections 已打开
- 编辑 php.ini 并重新启动 apache 服务器
因此,我尝试在这里和其他地方查看各种帖子,但实际上无法解决我的问题。
我尝试了几个代码,但这是我目前正在尝试的一个
$server = "XXX_Server";
$connInfo = array("数据库"=>"DB_Server", "UID"=>"用户名", "PWD"=>"密码");
$conn = sqlsrv_connect($server, $connInfo);
如果($conn)
{ echo "连接建立。";
}
别的
{
echo "无法建立连接。";
死(print_r(sqlsrv_errors(),真));
}
我得到如下所示的错误,
无法建立连接。
数组 ( [0] => 数组 ( [0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [代码] => 18456 [2] => [Microsoft][SQL Server Native Client 10.0][SQL服务器]用户 'xx\username' 登录失败。[message] => [Microsoft][SQL Server Native Client 10.0][SQL Server]用户 'xx\username' 登录失败。)[1] => Array ([ 0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [代码] => 18456 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server]用户 'xx\username 登录失败'. [message] => [Microsoft][SQL Server Native Client 10.0][SQL Server]用户'xx\username'登录失败。))
其中 xx = 域
请注意,客户端给了我一个 Windows 凭据,它可以访问服务器并且只能使用它。当我在脚本中硬编码我的凭据(也可以访问)时,它不起作用并出现上述错误,但是当我使用 QueryExpress / SQL Studio 时,我能够使用 Windows 凭据(我的)访问数据库。
因此,为了简单起见,我需要编写一个脚本,我需要在其中硬编码 Windows 凭据并连接到 SQL DB(卡在此处),并使用 Windows 广告身份验证(我知道该怎么做)使脚本只有少数人可以访问
请给我一些提示和建议,因为我卡住了,不知道如何继续。无论我研究和尝试什么,我最终都会做同样的事情,面对一堵墙:P
提前致谢