【问题标题】:Web Api 2 - CREATE DATABASE permission denied in database 'master'.","ExceptionType":"System.Data.SqlClient.SqlExceptionWeb Api 2 - 数据库“主”中的 CREATE DATABASE 权限被拒绝。","ExceptionType":"System.Data.SqlClient.SqlException
【发布时间】:2019-12-15 03:15:09
【问题描述】:

从 Web Api Controller Action 我试图调用另一个项目的代码来根据传递的请求从数据库中获取数据。但是这样做时我遇到了这个错误:

数据库 'master' 中的 CREATE DATABASE 权限被拒绝。","ExceptionType":"System.Data.SqlClient.SqlException

我在调用此代码时遇到了问题:

[Route("api/GetProducts")]
    [HttpGet]
    public GetProductsResponse GetProducts([FromUri]GetProductsRequest keyRequest)
    {
        var shop = new Shop(); // this is being places in my other project where I have EF code first

        return shop.GetProducts(keyRequest);
    }

正在外部项目中(不是在 Web Api 中)建立数据库连接,并且所有操作也正在那里执行。

我在谷歌上搜索了很多,但没有太多关于这个问题的信息。

非常感谢您的帮助!

我希望从我的外部项目方法发送查询结果。

【问题讨论】:

  • 请附上您的代码!
  • 已包含代码,但不会告诉您更多信息。而且我无法发布 GetProducts(keyRequest) 方法,因为这是私人公司代码。
  • 检查您的连接字符串。似乎它的数据源是“主”(为内部 SQL Server 系统信息保留)。您是否打算指向该 SQL Server 实例上的不同数据库?
  • 连接字符串的数据源设置为正确的数据库,我检查了。但是连接字符串是在这个外部项目中定义的。我也应该在 Web Api 中放一个吗?
  • 是的,试试看。听起来您的“外部”项目只是解决方案中的一个单独的项目/程序集,在这种情况下,您的主项目将需要自己的连接设置。

标签: entity-framework asp.net-core-webapi


【解决方案1】:

非常感谢您的帮助jcruz!我设法通过在我的 Web API 2 项目中添加一个 EF 连接字符串来解决这个问题。谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-14
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多