2011-10-16 61 views
1

失敗我想創建一個使用SMO(c#)編程的新數據庫。創建數據庫,SMO,C#

我的SQL Server 2005。這對工作是代碼:

ServerConnection connection = new ServerConnection(serverName, userName, password); 
Server sqlServer = new Server(connection); 
Database newDB = new Database(sqlServer, databaseName); 
newDB.Create(); 

我得到異常: 「創建失敗數據庫」

可能是什麼問題,我該如何創建一個新的數據庫? 謝謝...

+1

SQL Server日誌中說的任何其他錯誤信息?內部.net異常應顯示SQL Server作爲錯誤拋出的錯誤 – gbn

+0

否,沒有其他錯誤... –

+1

我正在編輯,對不起。 .net內部異常? – gbn

回答

3

我試過這個:用sysadmin用戶,一切正常。對於「正常」用戶,我會得到與您一樣的錯誤。

試試這個:

ServerConnection connection = new ServerConnection(serverName, userName, password); 
Server sqlServer = new Server(connection); 
Database newDB = new Database(sqlServer, databaseName); 

try 
{ 
    newDB.Create(); 
} 
catch(Exception exc) 
{ 
    string msg1 = exc.Message; 

    if(exc.InnerException != null) 
    { 
     string msg2 = exc.InnerException.Message; 

     if(exc.InnerException.InnerException != null) 
     { 
      string msg3 = exc.InnerException.InnerExceptionMessage; 
     } 
    } 
} 

你看到一個msg2msg3?他們說什麼???

當使用一個用戶沒有必要的權限,我msg3很清楚

在數據庫中創建 '主' 否認DATABASE權限。

+1

這是我的尷尬錯誤,我很抱歉打擾你們所有...... 我試過了創建一個已經存在的數據庫.... :(但你幫我看到了內部的異常......非常感謝你,你真的幫了我的忙! –

+0

@ND:它有助於簽出'.InnerException'參賽作品也一樣! –