1

我可以使用以下凭据从客户端 PC 连接到 SQL Server Express。在 mgnt 音频中:

server: 192.168.44.96\sqldb
auth: windows auth
user name: domain\user
pw: 1234!

让 LAMP 服务器尝试连接到上述 SQL 服务器,PHP 如下所示:

$server = '192.168.44.96\sqldb';
$username = 'domain\user';
$password = '1234!';
$database = 'testing123';
$connection = mssql_connect($server, $username, $password);
if($connection != FALSE){
    echo "Connected to the database server OK<br />";
}
else {
    die("Couldn't connect" . mssql_get_last_message());
}

if(mssql_select_db($database, $connection)){
    echo "Selected $database ok<br />";
}
    else {
    die('Failed to select DB');
}

该页面显示“无法连接”,并且 error.log 显示“无法连接 ot 服务器:192.168.44.96”。

我还在 php.ini 中设置了 mssql.secure_connection = On 并重新启动了 apache2。

有什么想法吗?

谢谢!

4

2 回答 2

1

我无法评论 PHP 部分,我只知道 SQL Server。
但我可以告诉你:Windows 身份验证不是这样工作的。
您不能使用 Windows 身份验证,然后将用户名和密码显式传递给服务器。您需要执行以下操作之一:

  1. 使用 SQL Server 身份验证并显式传递用户名和密码
  2. 使用 Windows 身份验证并且传递用户名和密码 - 您将自动连接到活动的 Windows 用户。

由于您使用的是 Linux 服务器,因此我很确定您不能使用 Windows 身份验证。因此,您必须使用 SQL 身份验证(需要在全新的 SQL Server 安装上启用),并且您必须在 SQL Server 上创建用户。

于 2012-05-21T21:48:15.637 回答
0

如果您有默认的 sqlexpress 安装,您可能需要配置您的 sql 服务器以允许远程访问连接。另外我不知道你是否可以连接windows auth。在您的 sql 服务器上,您还可以设置 sql 身份验证并使用 uid=;pwd=。

于 2012-05-21T21:48:46.407 回答