是否可以使用数据库脚本打包dot net nuke自定义模块?

时间:2010-01-19 15:22:35

标签: c# sql-server package dotnetnuke

我已经在DNN上创建了一个自定义模块并创建了它的软件包但是当我将它与其他一些DNN应用程序集成时,我需要手动创建其所需的数据库以使该模块与该站点一起工作。 是否可以创建一个包,它可以在将其与其他应用程序集成时自动创建其数据库。我需要一个单击部署,用户只需要对该包和我的模块应该开始工作...

2 个答案:

答案 0 :(得分:0)

简短的回答是否定的。部署DNN模块的一部分是数据库脚本,但是还需要为模块部署.ascx文件和其他资源以用于Web服务器。

有关模块开发的信息,您可能希望在此处查看 - http://www.dotnetnuke.com/Support/Documentation/DownloadableFiles/tabid/478/Default.aspx - 模块开发指南提供了有关打包模块以供在其他DNN站点中使用的一些信息。

答案 1 :(得分:0)

法鲁克,

我不确定您是否正在尝试创建一个全新的数据库和关联的模式,或者您只是将对象(表,sprocs,视图等)添加到现有的DotNetNuke数据库....但是...... < / p>

假设您想要添加到现有数据库,那么您可以简单地在DNN模块开发领域中包含对象创建脚本 SQLDataProvider 文件。

在模块的安装过程中,DotNetNuke将读取这些文件的内容并对DNN数据库执行它们,从而创建模块所需的模式。

请注意,您必须经历一个流程,以确保DNN正确执行这些文件,如下所示:

  1. 确保在DNN清单中包含每个SQLDataProvider文件条目
  2. 确保使用相应的版本前缀命名.SQLDataProvider文件(即,如果您的模块版本在01.00.01中,那么您的SQLDataProvider文件名应为01.00.01.SQLDataprovider) - DNN将基于a安装/升级比较你已经安装的VS你正在安装什么,它将执行相应的脚本以使模块更新。 我建议你看一下DotNetNuke StarterKit。这是一个Visual Studio模板生成器,它将创建一个完整的基线DotNetNuke模块项目,其中包含我上面讨论的SQLDataProvider文件。
  3. 现在,如果您正在尝试创建一个全新的数据库,那么您应该以稍微不同的方式处理这种情况。有很多方法可以做到这一点,为了争论,这里有一个:

    1. 在模块中创建ADMIN ONLY屏幕(和编辑屏幕)。
    2. 在此ADMIN控件中,添加连接字符串创建过程。这样管理员就可以配置此模块所需的附加连接字符串。 (如果要将其存储在DNN设置中,则应实施基本安全实践并对其进行加密)
    3. 添加一个按钮,触发您自己的自定义数据对象创建过程,该过程将针对您在步骤2中创建的连接字符串执行。
    4. 我希望这有助于你想要完成的事情。

      干杯。