我按照以下方式准备将数据库打包成安装程序1.添加一个新项目->选择类库模板->命名为DBCustomAction 
2、单击项目右键->添加新项->选择安装程序类(命名为DBCustomAction.cs) 
3、在服务器资源管理器中添加->连接到数据库->指定用户密码(选择允许保存密码)->数据库选择master 
4、切换到DBCustomAction.cs的视图状态->将服务器资源管理器数据库连接中的master.dbo拖动到designer中 
5、添加一个新项sql.txt(注意要使用小写),输入下列sql代码 
CREATE TABLE [dbo].[MK_Employees] ( 
[Name] [char] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , 
[Rsvp] [int] NULL , 
[Requests] [nvarchar] (4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL  
) ON [PRIMARY]; ALTER TABLE [dbo].[MK_Employees] WITH NOCHECK ADD  
CONSTRAINT [PK_MK_Employees] PRIMARY KEY CLUSTERED  

[Name] 
) ON [PRIMARY]; 
(P.S:也可以直接用SqlServer导出) 到这里我就不明白了,拖Master是作者举个例子,还是真的拖master?我要安装的不是master库阿,是要拖我准备打包的数据库名么?还有一点,sql.txt里的内容 是真的这么写,还是作者举的例子?我要写我的数据库生成脚本在里面么?
看了李洪根的blog里一篇文章,说脚本里如果很多GO 会出错,不知道是不是这样?要把GO全部去掉么?

解决方案 »

  1.   

    http://dev.csdn.net/Develop/article/29/29221.shtm
      

  2.   

    这里有详细介绍!http://community.csdn.net/Expert/topic/3384/3384121.xml?temp=.1860773
      

  3.   

    感谢Rockyzhang,我现在已经可以安装数据库和表了, 但是安装存储过程的时候还有问题:
    我有很多个proc ,如果全部不要go,会报PROC附近有语法错误(连查询分析器里也是这么报的)
    如果保留GO,那就报错,说有GO,
    不知道打包多个存储过程 应该怎么办???PROC 如下CREATE PROC sp_StatForeignCooperateTotalGroupByYear
    @Year int
    AS 
    select 
    ForeignCooperate.year,
    sum(ContractNumber) as ContractNumber,                      --本月合同份数
    sum(ContractQuantumMonth)as ContractQuantumMonth,                --本月新签合同额
    sum(businessQuantumMonth)as businessQuantumMonth               --本月营业额
    from  ForeignCooperate  where ForeignCooperate.Year >= @Year and deleteFlag =0
    group by ForeignCooperate.year
    order by ForeignCooperate.yearCREATE PROC sp_StatForeignCooperateTotalGroupByYearMonth
    @Year int
    AS 
    select 
    ForeignCooperate.year,
    ForeignCooperate.month,
    sum(ContractNumber) as ContractNumber,                      --本月合同份数
    sum(ContractQuantumMonth)as ContractQuantumMonth,                --本月新签合同额
    sum(businessQuantumMonth)as businessQuantumMonth               --本月营业额
    from  ForeignCooperate  where ForeignCooperate.Year >= @Year and deleteFlag =0
    group by ForeignCooperate.year,ForeignCooperate.month
    order by  ForeignCooperate.year,ForeignCooperate.month