2014-10-28 58 views
0

我試圖獲取所有從數據庫中的用戶和我得到這個錯誤:錯誤:未能找到存儲過程「dbo.aspnet_CheckSchemaVersion」

"Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'" 

的代碼如下:

public ActionResult Index() 
    { 
     var users = Membership.GetAllUsers(); 
     return View(users); 
    } 

來自webconfig的代碼是:

<membership defaultProvider="SqlMembershipProvider"> 
     <providers> 
     <clear/> 
     <add name="SqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="DefaultConnection" applicationName="/"/> 
     </providers> 
    </membership> 

爲什麼這不起作用,爲什麼我不斷收到錯誤?

回答

0

可能有多個原因:

  • 無論是在默認情況下您登錄到其它數據庫,然後在該程序駐留
  • 程序並在數據庫中根本不存在的(可能會被刪除? )
  • 您正在內部更改數據庫。

嘗試使用您以編程方式傳遞的登錄名和密碼手動登錄到MSSMS,然後執行sp_helptext aspnet_CheckSchemaVersion並查看您是否獲得了過程代碼?

+0

我肯定不是在錯誤的數據庫日誌記錄。我使用SQL服務器2014年,我應該在哪裏找的存儲過程? – 2014-10-28 10:11:50

-1

應該是被以「用戶作爲參數,另一個動作結果

0

你需要運行aspnet_regsql.exe對你的SQL Server,以確保該表和對象被創建。

aspnet_regsql.exe -S DBServerName -U DBLogin -P DBPassword -A all -d DBName 
+0

我試着用aspnet_regsql.exe的,這是行不通的。 – 2014-10-28 10:04:11

+0

爲什麼?什麼是錯誤訊息? – 2014-10-28 10:15:08

+0

你可以嘗試運行它沒有參數和遵循嚮導步驟,通常是lo cated:C:\ Windows \ Microsoft.NET \ Framework64 \ [您的框架版本] \ aspnet_regsql.exe – 2014-10-28 10:17:33