1

我有一个名为XyzDB的数据库。一切都完成了,我对它感到满意。web api http get给出“创建数据库主数据库权限被拒绝”

我有一个WebAPI项目,它使用实体框架(我从我的数据库生成我的实体模型,所以不代码第一)。

当我使用fiddler通过简单的Get http方法查询表时。我得到的错误:

在数据库中创建主否认数据库权限

不过,我并不想创建一个数据库。我只想做一个简单的get方法并返回一个json结果。

任何帮助真的不胜感激。

+1

该数据库存在吗?你在使用DropCreateDatabaseAlways或DropCreateDatabaseIfModelChanges之类的数据库初始化工具吗? – Fals

+0

我试图通过解决方案搜索您指定的短语,但他们没有在哪里可以看到。所以我想答案是否定的。 –

+1

然后你的数据库不存在于connectionString的指定服务器上,并且用户没有创建它的权限 – Fals

回答

2

默认情况下,如果数据库不存在,DbContext将创建数据库,但如果数据库已存在,则不会执行迁移。

在您的DbContext的构造函数中,只需添加Database.SetInitializer(null)以防止生成数据库。

您还应该检查App.Config中的连接字符串,因为它默认连接到master数据库。如果它是Sql Server的Ole Db,请添加“初始目录= [您的数据库]”以连接到正确的数据库。

http://www.connectionstrings.com/microsoft-ole-db-provider-for-sql-server-sqloledb/

+0

我感觉有点笨,我试过你的Database.SetInitialaizer,在我得到另一个错误后,这导致我的解决方案。猜猜...我连接到错误的服务器,数据库不存在。 :) 谢谢你的帮助。 –

相关问题