【问题标题】:code working with sa account but not with other使用 sa 帐户但不适用于其他帐户的代码
【发布时间】:2012-10-17 06:38:14
【问题描述】:

我有一个带有

的 jdbc 属性文件
database.username=mfuser
database.password=mfuser

如果我将其更改为 user/pass --> sa/pass 那么我的 Web 应用程序可以完美运行,但使用 mfuser 可以。我已经在 SQL Server 安全性中创建了一个名为 mfsuer 和密码 mfuser 的用户,但它仍然无法正常工作....

我需要如何创建用户mfuser 才能正常工作?我需要为此用户提供任何特殊权限吗?我想要和sa一样的@

这是我在使用 mfuser 时遇到的错误

org.springframework.dao.PermissionDeniedDataAccessException: PreparedStatementCallback; SQL [select lm.login_id,lm.login_name,lm.login_password,lm.full_name, lm.email_address,lm.phone,lm.notes,lm.delete_status,lm.create_date,lm.create_by,lm.modify_date,lm.modify_by FROM Login_Master lm where lm.login_id=(select lm1.login_id from Login_master lm1 where lm1.login_name=? and lm1.login_password =?) ]; The SELECT permission was denied on the object 'Login_Master', database 'MCData', schema 'dbo'.; nested exception is java.sql.SQLException: The SELECT permission was denied on the object 'Login_Master', database 'MCData', schema 'dbo'.

【问题讨论】:

  • 您是否也为mfuser 用户创建了数据库对象(表、索引等)?如果没有,您应该使用所有者用户名引用您的表,如下所示:...FROM sa.Login_Master lm WHERE ...

标签: java spring sql-server-2008


【解决方案1】:

用户mfuser 没有足够的权限来更改您的表、架构或数据库中的数据。您应该使用sa 用户访问您的SQL Server 2008,并向mfuser 授予足够的权限。

按照this post 中的步骤解决您的问题。

【讨论】:

    【解决方案2】:

    看起来用户 mfuser 无权访问您的应用程序需要访问的表。

    如果您使用 sa 用户创建了数据库架构,则必须授予对 mfuser 的访问权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-02
      • 2020-04-19
      • 2013-08-28
      • 2013-08-02
      • 2016-04-29
      相关资源
      最近更新 更多