首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >linux php连接到运行MS SQL Server Express的Server 2008

linux php连接到运行MS SQL Server Express的Server 2008
EN

Stack Overflow用户
提问于 2012-05-22 05:45:08
回答 2查看 1.4K关注 0票数 1

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

代码语言:javascript
运行
复制
server: 192.168.44.96\sqldb
auth: windows auth
user name: domain\user
pw: 1234!

让一个LAMP服务器尝试连接到上面的SQL服务器,下面是PHP的样子:

代码语言:javascript
运行
复制
$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。

有什么想法吗?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-22 05:48:16

我不能评论PHP部分,我只知道SQL Server。

但我可以告诉你:这不是Windows身份验证的工作方式。

您不能在使用Windows身份验证后再将用户名和密码显式传递给服务器。您需要执行以下操作之一:

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

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

票数 1
EN

Stack Overflow用户

发布于 2012-05-22 05:48:46

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10693083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档