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,在我得到另一個錯誤後,這導致我的解決方案。猜猜...我連接到錯誤的服務器,數據庫不存在。 :) 謝謝你的幫助。 –

相關問題