日期:2012-06-29  浏览次数:20439 次

    这个思路是在昨天写了一个数据库安装类以后想及的,昨天稍微研究了一下自定义安装的东西,感觉里面东西很多,以前我一直在找WISE和INSTALL SHIELD的FOR 。NET的程序,但现在觉得,对于一般应用而言,用。NET自己带的工具是绰绰有余了。
    我目前的想法是让安装程序除了建立虚拟目录以外还得建立数据库,省得用户的手工操作,那样就会避免很多麻烦。这个工作我昨天晚上在家的时候做了,今天我想我是不是应该能建立这样的一个工具,能够让别的开发人员省掉这一步,包括导数据结构和建立安装时候的数据库设置窗体,我想用插件的形式做这个工作。
    显然BIGEAGLE知道我们大部分人的毛病,太浮躁了,不能把一件事情很专心的做好,于我而言,前辈的话是要听的,毛病还是要犯的,所以我决定做完第一步以后剩下的事情就先不理了,:)
    其实只是因为前些日子论坛上的一些事情,我希望能够通过自己的努力让更多人去关注自己应该关注的东西,去珍惜这个网上家园。
    废话说了这么多,:(

------------------------------------------------------------

文件SQLDMODemo.cs,实现操作的类

using System;
using SQLDMO;
using System.Windows.Forms;

namespace GenerateSQLScript
{
    /// <summary>
    /// SQLDMODemo 的摘要说明。
    /// </summary>
    public class SQLDMODemo
    {
        private const SQLDMO_SCRIPT_TYPE SQLDMOScript_Drops = SQLDMO_SCRIPT_TYPE.SQLDMOScript_Drops;
        private const SQLDMO_SCRIPT_TYPE SQLDMOScript_IncludeHeaders = SQLDMO_SCRIPT_TYPE.SQLDMOScript_IncludeHeaders;
        private const SQLDMO_SCRIPT_TYPE SQLDMOScript_Default = SQLDMO_SCRIPT_TYPE.SQLDMOScript_Default;
        private const SQLDMO_SCRIPT_TYPE SQLDMOScript_AppendToFile =SQLDMO_SCRIPT_TYPE.SQLDMOScript_AppendToFile;
        private const SQLDMO_SCRIPT_TYPE SQLDMOScript_Bindings = SQLDMO_SCRIPT_TYPE.SQLDMOScript_Bindings;

        private SQLDMO.SQLDMO_SCRIPT_TYPE intOptions;

        private SQLDMO.SQLDMO_SCRIPT2_TYPE int2Options;

        public SQLDMODemo()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //

            this.intOptions = SQLDMOScript_Drops | SQLDMOScript_IncludeHeaders | SQLDMOScript_Default | SQLDMOScript_AppendToFile | SQLDMOScript_Bindings;
            this.int2Options = SQLDMO_SCRIPT2_TYPE.SQLDMOScript2_Default;
        }

        /// <summary>
        /// 导出SCRIPT的函数
        /// </summary>
        /// <param name="strServerName"></param>
        /// <param name="strUserName"></param>
        /// <param name="strPassword"></param>
        /// <param name="strDataBase"></param>
        /// <param name="strFilePath"></param>

        public void GenerateSqlScript(string strServerName,string strUserName,string strPassword,string strDataBase,string strOwner,string strFilePath)
        {
            try
            {