【问题标题】:SQL Query Error - Error Source: .Net SqlClient Data ProviderSQL 查询错误 - 错误来源:.Net SqlClient 数据提供程序
【发布时间】:2014-04-09 09:14:33
【问题描述】:
Error Message: The SELECT permissions was denied on the object 'quote', database 'oneview', schema 'dbo'.

我对 SQL 比较陌生,而我所学习的开发人员只是兼职,很遗憾很难找到。谁能帮我理解下面的查询有什么问题并提出任何可能需要的修复建议?

SELECT     licenseEntitlement.entID, licenseEntitlement.entStartDate, licenseEntitlement.entEndDate, quote.quoteId, quote.accountId, quote.clientId, 
                      quote.clientName, quote.contactName, quote.contactEmail, quote.extReference, quote.purchaseOrderNumber, quote.linkedTicket
FROM         licenseEntitlement INNER JOIN
                      quote ON quote.quoteId = SUBSTRING(licenseEntitlement.entComments, 12, PATINDEX('% Created%', licenseEntitlement.entComments) - 12)
WHERE     (licenseEntitlement.entType = 'AVS') AND (licenseEntitlement.entComments LIKE 'OV Order + %') AND (licenseEntitlement.entEndDate < '7/1/2014')
ORDER BY licenseEntitlement.entEndDate

【问题讨论】:

    标签: sql sql-server sql-server-2005


    【解决方案1】:

    您需要授予相关用户从这些表中选择的权限。

    这与您的查询本身无关(如果有正确的权限)

    但是,您应该查看存储过程并为其授予权限,而不是直接访问表。

    【讨论】:

      【解决方案2】:

      您的用户没有表的选择权限

      将选择权限或 db_readonly 授予用户

      【讨论】:

        【解决方案3】:

        执行以下语句给用户适当的权限

        GRANT SELECT ON [dbo].[quote] TO [Domain\User]  --<-- User's UserName
        

        【讨论】:

          猜你喜欢
          • 2012-08-12
          • 2014-05-22
          • 1970-01-01
          • 2011-12-19
          • 1970-01-01
          • 1970-01-01
          • 2015-05-05
          • 2013-02-18
          • 1970-01-01
          相关资源
          最近更新 更多