mssql使用pdo失败登录获取用户登录失败' dbo'

时间:2017-04-25 03:34:19

标签: php sql-server sql-server-2008 pdo

运行时在Microsoft SQL Server Management Studio中

EXEC sp_helplogins @LoginNamePattern='mmanlapig\martin'

我明白了:

   LoginName           DBName   UserName    UserOrAlias
1  mmanlapig\martin    homis    db_owner    MemberOf
2  mmanlapig\martin    homis    dbo         User    

然后在我的代码中我有:

define('DBHOST', 'localhost\SQLEXPRESS'); 
define('DBNAME', 'homis'); 
define('DBUSER', 'dbo'); 
define('DBPASS', ''); 
$dbname = "`" . str_replace("`", "``", DBNAME) . "`";
$dbh1 = new PDO("odbc:Driver={SQL Server};Server=" . DBHOST . ";Database=$dbname;", DBUSER, DBPASS);

当我运行此代码时

Select sp.name as LoginName, sp.type_desc as LoginType,
    dp.name as DBUser, dp.type_desc as UserType
from sys.server_principals sp
join sys.database_principals dp on dp.sid = sp.sid
where sp.name = 'mmanlapig\martin';

我得到了

   LoginName           LoginType        DBUser  UserType
1  mmanlapig\martin    WINDOWS_LOGIN    dbo     WINDOWS_USER
  1. 当我的所有登录凭据都没问题时,为什么我收到错误信息表示我无法连接到数据库。
  2. 连接数据库需要使用的正确用户名密码是什么?
  3. here

    尝试了这些步骤

    问题是服务器设置为" Windows身份验证模式"只要。解决这个问题我

    1. 右键单击服务器 - >特性
    2. 点击"安全"在"服务器属性"的左侧对话框
    3. 将服务器身份验证更改为" SQL Server和Windows身份验证模式"
    4. 点击"确定"
    5. 重新启动相关服务。起初我忘了重新启动服务,所以我仍然收到错误,但现在我能够连接没有问题。
    6.   

      仍然是同样的问题

1 个答案:

答案 0 :(得分:0)

相关问题