2010-07-07 92 views
0

我正嘗試在Web服務中創建新的Web應用程序。我正在使用此代碼來執行此操作。將多個內容數據庫添加到Sharepoint

 SPWebApplicationBuilder webAppBuilder = new SPWebApplicationBuilder(SPFarm.Local); 
     webAppBuilder.Port = port; 
     webAppBuilder.RootDirectory = new System.IO.DirectoryInfo(@"C:\Inetpub\wwwroot\wss\VirtualDirectories\" + port); 
     webAppBuilder.CreateNewDatabase = true; 
     webAppBuilder.DatabaseName = "WSS_Content_00000000000000000000000000000000"; 
     SPWebApplication newWebApplication = webAppBuilder.Create(); 
     newWebApplication.Provision(); 

現在我想添加一個新的內容數據庫到同一個Web應用程序。根據我的理解,我可以用它來做到這一點。

newWebApplication.ContentDatabases.Add(new SPContentDatabase()); 

新的操作員應該創建一個新的內容數據庫實例,這是不成功的。 (NullReferenceException異常)。 IDE建議我使用新的操作符,即使我已經使用它。

對此有何想法?有關添加多個內容數據庫的參考?

回答

3

如果不指定數據庫信息,則無法添加新的內容數據庫。您的代碼只是創建一個空的SPContentDatabase對象,而不包含任何服務器,數據庫名稱或連接信息。當Add方法嘗試訪問從未初始化的數據庫屬性時,可能會發生NullReferenceException。

嘗試使用直接接受數據庫信息的Add variants,這樣

newWebApplication.ContentDatabases.Add("Database_Server", "Database_Name", 
               null, null, 1000, 1000, 0); 
+0

+1並接受:)。不過,我認爲MSDN文章中存在一個錯誤。您不能讓站點編號警告和最大站點編號相同。站點的最大數量應該更高... :) – 2010-07-08 03:47:20