2012-06-19 81 views
2

這是針對具有View表的現有數據庫。 試圖列出查看錶,但在我的行動越過此錯誤消息傳來:CREATE DATABASE權限在數據庫'master'中被拒絕

CREATE DATABASE permission denied in database 'master'. 

視點表來訪問被稱爲:SomeTable

,如果你在數據庫上運行這個(ServerA_dev_alpha_custom):

sp_helptext 'SomeTable' 

你會得到這樣的:

CREATE VIEW dbo.[SomeTable] AS SELECT * FROM ServerA_dev_alpha.dbo.[SomeTable] 

這裏的模型:

public class SomeTable 
{ 
    [Key] 
    public virtual string SomeTableid { set; get; } 
    public virtual string name { set; get; } 
    public virtual string formvalue { set; get; } 
    public virtual string status { set; get; } 
    public virtual DateTime CreateDate { set; get; }  
} 

,類名稱:

public class SomeDB: DbContext 

完全配對連接字符串名稱:

<add name ="SomeDB" 
     connectionString ="data source=ServerA\DBSome; integrated Security=SSPI; initial catalog=ServerA_dev_alpha_custom" 
     providerName="System.Data.SqlClient"/> 

的ERR在創建模型發現:

SomeDB _db = new SomeDB(); 

var model = (from c in _db.SomeTable 
    orderby c.CreateDate descending 
    select c).Take(20); 

當我改變連接字符串指向表的定義:ServerA_dev_alpha(數據庫)它的工作原理。

任何想法?

+0

@Jon Egerton;感謝您放入sql-server標記。 – scv

+1

您是否檢查了運行SQL的帳戶的權限。它需要系統管理員角色。 –

+0

@benni_mac_b;謝謝。我會嘗試。 – scv

回答

1

即使您已經現有的數據庫設置初始化爲null作品:

Database.SetInitializer<SomeDB>(null); 

二;迫使映射到表名的伎倆:

modelBuilder.Entity<SomeTable>() 
.ToTable("SomeTable"); 
1

我通過使用SQL Server授權帳戶,SA解決了這個問題,而不是那些arthorized窗口。

您可以通過先logining由Windows authoration SQLServer的管理工具,在左邊的部分窗口中找到SA(稱爲「對象資源管理器」) - >您服務器\ SQLEXPRESS(10.xxx) - >安全 - >登錄

雙擊sa,然後爲其設置密碼和默認數據庫。默認數據庫應該是你的數據庫而不是「主」。然後,切換到「狀態」頁面,啓用sa帳戶。

如果您的數據庫尚未在下拉列表中列出,請在上述左側部分窗口中右鍵單擊並選擇「附加」以附加它。

而且,連接字符串應該是:

的connectionString =「數據源= \ SQLEXPRESS; AttachDbFilename = | DataDirectory目錄| \ MFC.mdf;初始目錄= MFC;集成安全性= FALSE;用戶ID = SA ;密碼= your_password_here;「

它適用於我。

相關問題