将多个内容数据库添加到Sharepoint

时间:2010-07-07 07:56:26

标签: c# .net sharepoint

我正在尝试在Web服务中创建一个新的Web应用程序。我正在使用此代码执行此操作。

        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建议我使用new运算符,即使我已经使用过它。

对此有何想法?有关添加多个内容数据库的任何参考资料吗?

1 个答案:

答案 0 :(得分:3)

如果不指定数据库信息,则无法添加新的内容数据库。您的代码只创建一个空的SPContentDatabase对象,而不包含任何服务器,数据库名称或连接信息。当Add方法尝试访问从未初始化的数据库属性时,可能会发生NullReferenceException。

尝试使用直接接受数据库信息的Add variants,例如

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