我可以使用以下凭据从客户端PC连接到SQL Server Express。在mgnt sudio中:
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显示“无法连接到服务器: 192.168.44.96”。
我还在php.ini中设置了mssql.secure_connection = On,并重新启动了apache2。
有什么想法吗?
谢谢!
发布于 2012-05-22 05:48:16
我不能评论PHP部分,我只知道SQL Server。
但我可以告诉你:这不是Windows身份验证的工作方式。
您不能在使用Windows身份验证后再将用户名和密码显式传递给服务器。您需要执行以下操作之一:
因为您使用的是Linux服务器,所以我非常确定您不能使用Windows身份验证。因此,您必须使用SQL身份验证(需要在全新的SQL Server安装上启用),并且必须在SQL Server上创建一个用户。
发布于 2012-05-22 05:48:46
如果安装了默认的sqlexpress,则可能需要将sql服务器配置为允许远程访问连接。另外,我不知道你是否可以连接windows auth。在您的sql server上,您还可以设置sql身份验证并使用uid=;pwd=。
https://stackoverflow.com/questions/10693083
复制相似问题