打包SQL

c#web打包sql 借鉴MSDN webcasts的Asp.net程序部署和李洪根的一篇文章,然后加上自己的亲身体会,把整个SQL和Asp.net(vb.net)一起打包的全过程写一下。一.准备必要的文件1. SQL脚本文件,生成以后安装过程中需要的表和存储过程等等;生成之后,就暂时把它命名为db.sql(注意大小写)2.LisenceFile.rtf的安装文件,因为我的系统是个人的,而且free的,所以就没有做。这 阅读详情

参考《ASP.NET与SQL一起打包部署安装》,这篇文章是针对VB.NET与SQL 一起打包的,但是我使用的是C#,当然只要修改一下主要安装类库就行了!C#的类库代码如下:DBCustomAction.cs

using System;
using System.Collections;
using System.Data.SqlClient;
using System.ComponentModel;
using System.Configuration.Install;
using System.Diagnostics;
using System.IO;
using System.Xml;
using System.Reflection;


namespace PMS
{
 /// <summary>
 /// DBCustomAction 的摘要说明。
 /// </summary>
 [RunInstaller(true)]
 public class DBCustomAction : System.Configuration.Install.Installer
 {
  /// <summary>
  /// 必需的设计器变量。
  /// </summary>
  private System.ComponentModel.Container components = null;

  public DBCustomAction()
  {
   // 该调用是设计器所必需的。
   InitializeComponent();

   // TODO: 在 InitializeComponent 调用后添加任何初始化
  }

  private void ExecuteSql(string conn,string DatabaseName,string Sql)
  {
   SqlConnection mySqlConnection=new SqlConnection(conn);  
   SqlCommand Command=new SqlCommand(Sql, mySqlConnection);  
   mySqlConnection.Open();  
   mySqlConnection.ChangeDatabase(DatabaseName);  
   try
   {
    Command.ExecuteNonQuery();
   }  
   finally
   {
    //close Connection  
    mySqlConnection.Close();
   }
  }

  /// <summary>
  /// 清理所有正在使用的资源。
  /// </summary>
  protected override void Dispose( bool disposing )
  {
   if( disposing )
   {
    if(components != null)
    {
     components.Dispose();
    }
   }
   base.Dispose( disposing );
  }

  //

  public override void Install(System.Collections.IDictionary stateSaver)
  {
   base.Install(stateSaver);
  
   // ------------------------建立数据库-------------------------------------------------
  
   try
   {
    string connstr = String.Format("data source={0};user id={1};password={2};persist security info=false;packet size=4096", Context.Parameters["server"],Context.Parameters["user"], Context.Parameters["pwd"]);
    //'根据输入的数据库名称建立数据库  
    ExecuteSql(connstr, "master", "CREATE DATABASE " +Context.Parameters["dbname"]);  
    //'调用osql执行脚本  
    Process sqlprocess=new System.Diagnostics.Process();
    sqlprocess.StartInfo.FileName = "osql.exe ";  
    sqlprocess.StartInfo.Arguments = String.Format(" -U {0} -P {1} -d {2} -i {3}db.sql", Context.Parameters["user"], Context.Parameters["pwd"],Context.Parameters["dbname"],Context.Parameters["targetdir"]);
    sqlprocess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
    sqlprocess.Start();  
    sqlprocess.WaitForExit(); // '等待执行
    sqlprocess.Close();
  
    //'删除脚本文件
    FileInfo sqlfileinfo =new FileInfo(String.Format("{0}db.sql",Context.Parameters["targetdir"]));
  
    if (sqlfileinfo.Exists)
    {
     sqlfileinfo.Delete();
    }
   }
   catch(Exception ex)
   {
    throw ex;  
   }
  
   //' ---------------------将连接字符串写入Web.config-----------------------------------
  /*
   try
   {
    FileInfo fileinfo = new FileInfo(Context.Parameters["targetdir"] + "http://www.cnblogs.com/yuanlei347/admin/file://web.config/");
    if (!fileinfo.Exists)
    {
     throw new InstallException("没有找到配置文件");
  
    }
  
    //'实例化xml文档
  
    XmlDocument xmldocument=new XmlDocument();
  
    xmldocument.Load(fileinfo.FullName);
  
  
  
    //'查找到appsettings中的节点
  
    //XmlNode node=new XmlNode();
  
    Boolean FoundIt  = false;
  
    foreach(XmlNode node in xmldocument.SelectSingleNode("appSettings").ChildNodes)
    {  
     if (node.Name == "add")
     {  
      if (node.Attributes.GetNamedItem("key").Value == "connString")
      {
       //'写入连接字符串
       node.Attributes.GetNamedItem("value").Value= String.Format("Persist Security Info=False;Data Source={0};Initial Catalog={1};User ID={2};Password={3};Packet Size=4096;Pooling=true;Max Pool Size=100;Min Pool Size=1",Context.Parameters["server"],Context.Parameters["dbname"], Context.Parameters["user"], Context.Parameters["pwd"]);
       FoundIt= true;  
      }  
     }  
    }
  
    if (!FoundIt)
    {  
     throw new InstallException("web.Config 文件没有包含connString连接字符串设置");
    }   
    xmldocument.Save(fileinfo.FullName);
   }
   catch(Exception ex)
   {
    throw ex;
   } 
   */         
  }

  #region 组件设计器生成的代码
                 /// <summary>
                 /// 设计器支持所需的方法 - 不要使用代码编辑器修改
                 /// 此方法的内容。
                 /// </summary>
                 private void InitializeComponent()
                 {
                  components = new System.ComponentModel.Container();
                 }
  #endregion
 }
}

我不需要修改Web.config的部分.
注意.如果不用SA用户登录数据库的,请先在服务器上建立特定的SQL用户

掌握高级SQL查询:表匹配与打包查询技巧 本篇博客深入探讨了高级SQL查询的构建,涵盖了外部链接、差异和除法操作符的使用,以及空值对查询的影响。通过实例和详细解释,读者将学会如何构建涉及这些高级功能的SQL语句,并理解打包查询(子查询)的类型及其应用。 阅读详情

相关推荐

C#项目打包_并自动安装SQL数据库

C#项目打包

navicat 将数据库打包成.sql文件

数据库打包SQL文件

m0_59673430的博客 5644

基于STM32F334C8T6的四开关Buck-Boost双向DC-DC电源设计与实现(附源码、仿真与计算书)

本文详细介绍了基于STM32F334C8T6的四开关Buck-Boost双向DC-DC电源设计方案。该设计利用STM32的高分辨率定时器(HRTIM)实现精确PWM控制,支持Buck、Boost和Buck-Boost三种工作模式自动切换,具备双向能量流动能力。通过PSIM仿真和Mathcad计算书进行参数优化,实测效率达95.8%,适用于新能源系统和电池管理等场景。

www00的博客 525

C#打包SQL数据库部署安装(转)

参考《ASP.NET与SQL一起打包部署安装》,这篇文章是针对VB.NET与SQL 一起打包的,但是我使用的是C#,当然只要修改一下主要安装类库就行了!C#的类库代码如下:DBCustomAction.csusing System;using System.Collections;using System.Data.SqlClient;using System.ComponentModel;u...

weixin_30247307的博客 227

10bit SAR ADC电路:200多页设计与仿真文档,附gpdk045工艺与testbench,可直接导入Virtuoso仿真,含以太网、PLL电路例程及进阶ADC

拥有超过200页的详细设计和仿真文档,它以gpdk045工艺为基础,testbench均可直接导入virtuoso仿真,为我们提供了一个全面了解ADC电路设计的绝佳机会。通过对10bit SAR ADC电路的详细解析,我们不仅了解了其设计背后的原理和实现方法,还体会到了数字与模拟技术的交融之美。这个SAR ADC的结构采用了经典的电荷重分配架构。一个10bit SAR ADC电路,有200多页详细的设计和仿真文档,附带对应的gpdk045工艺,testbench都有,可直接导入virtuoso仿真。

OMyAVKmGPBOF的博客 1333

ITIL-IT运维管理-概述

ITIL-IT运维管理-概述 概述 IT服务管理(ITSM)是一套帮助企业对IT系统的规划、研发、实施和运营进行有效管理的方法,是一套方法论。ITSM起源于ITIL(IT Infrastructure Library,IT基础架构标准库),ITIL是CCTA(英国国家电脑局)于1980年开发的一套IT服务管理标准库。它把英国在IT管理方面的方法归纳起来,变成规范,为企业的IT部门提供一套从计划、研发、实施到运维的标准方法。 中文名 IT服务管理 外文名 ITService Management 专家

syjhct的博客 4万+

C#打包数据库

using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; u...

weixin_30920597的博客 176

泛微E8流程监控指南:如何用SQL实时追踪审批节点状态?

本文详细介绍了如何利用SQL实时监控泛微E8系统中的审批流程状态,包括核心数据表结构解析、全链路监控SQL实战以及智能预警机制设计。通过数据库直接查询和状态关联分析,帮助企业快速定位卡顿节点,提升流程效率。适用于需要优化OA系统流程管理的企业IT人员和业务主管。

weixin_30687051的博客 437

VS2015打包发布SQL Server Express

最近把一个WinForms项目从VS2010迁移到VS2015,遇到SQL Server Express打包问题,折腾了好几天,解决过程曲折离奇,所以记录分享一下。VS2010打包SQL Server Express数据库先回顾一下VS2010中怎么打包SQL Server Express。 VS2010自带安装项目模版,新建一个安装项目,就可以很方便地打包WinForm产品。 在安装项目属性中

SunnyTrudeau的博客 7902

在Matlab中开发AutoSAR模型的流程(自下而上)

前面介绍了AutoSAR软件组件开发的两种方式,其中自下向上的方式,是从模型出发,流程如下。

小胡同学的工程师学习之路 5366

详解AXI4-Lite接口(3)--AXI4-Lite接口IP源码仿真及分析(Master接口)

通过本文您会学到:1、了解AXI4-Lite_Master接口的逻辑实现;2、加深Xilinx IP、仿真工具的使用;3、提高阅读时序图的能力。

孤独的单刀 6445

mysql 打包 sql

MySQL 数据库打包 SQL 语句的科普文章 MySQL 是一种广泛使用的开源关系数据库管理系统。在日常的数据库管理中,我们经常需要将数据库中的表结构和数据导出成 SQL 文件,以便进行备份、迁移或版本控制。本文将介绍如何使用 MySQL 命令行工具打包 SQL 语句,并提供一些实用的代码示例。 1. 准备工作 在开始打...

weixin_35510737的博客 344

Python 3.13.7 (64-bit)安装弹窗提示:Setup failed:0x80070643 - 安装时发生严重错误...如何解决?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 2115

WinForm开发(6)——C#/winform程序打包部署时,如何把SQL数据库一起打包进去

打包数据库到安装程序中 方法1. 备份/恢复 先备份数据库: backup database 数据库 to disk='c:\备份.bak' 将备份文件打包到安装程序中. 在第一次运行程序的时候,进行数据库恢复(或专门做一个系统配置的程序,来控制完成此工作) restore database 数据库 from disk='c:\备份.bak' 方法2. 分离/附加 注意:这个方法中的分离等于删掉...

qq_34573534的博客 3269

太空安全卫士:基于YOLOv5的空间态势感知系统(实现轨道碰撞预警与太空环境保护)

做完这个项目,你会发现自己完整走过了“数据采集→标注→模型训练→功能集成→界面开发”的毕设全流程,这不仅是技术能力的证明,更是对“技术守护宇宙安全”这一理念的实践。答辩时,你可以重点讲这几点:系统解决了航天监测的哪些痛点、YOLOv5在太空目标检测中的性能优势、系统未来能怎么优化(比如对接航天监测网络、实现实时轨道预测)。未来,这个系统还能往“更智能”的方向发展:比如结合轨道计算预测碰撞风险、开发移动端APP让天文爱好者参与太空垃圾上报、在航天任务中实现全自动避障决策……想象空间很大。

m0_71589036的博客 90

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

将SQL过程打包到iSeries应用程序中

来自developerWorks档案库 肯特·米利根(Kent Milligan) 存档日期:2019年5月15日 | 首次出版:2001年11月12日 本文介绍了一种经济高效的打包SQL过程的方法,该方法不需要其他软件。 此内容不再被更新或维护。 全文以PDF格式“按原样”提供。 随着技术的飞速发展,某些内容,步骤或插图可能已更改。 查看PDF文件 翻译自: https...

cusi77914的博客 140

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

SQL+C#打包问题

<br />VS05+SQL05写的程序,已部署了主输出并附带了framework2.0和SQL express 05,剩下的我该做什么呢?数据库文件怎么打包?例如……什么脚本啊……或者转成XML啊……或者是这个那个的/<br />我想知道前段时间我有看到国外一个人的blog,<br />里面就全部是.net framework的源代码,可是我现在连接忘 了。<br />面试的时候遇到高手,就会面这方面的思想,但也有不面这个思想的,<br />网上下载的10.6.1827版本说是有个吾爱破解,但一个月后还是

flyly88的专栏 563

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Winfrom应用程序打包把sql2005 express打包进去

Winfrom应用程序打包把sql2005 express打包进去一、添加系统必备1)在解决方案资源管理器中右击Setup1项目—属性—系统必备,选中sql2005 express,如下图: 选择第二项:从我的应用程序相同的位置下载系统必备组件,确定则在Setup1—Debug目录下会出现SqlExpress文件夹,文件夹里的sqlexpr32.exe文件就是sql2005

2154

c# 打包mysql_C#打包SQL数据库部署安装

借鉴MSDN webcasts的Asp.net程序部署和李洪根的一篇文章,然后加上自己的亲身体会,把整个SQL和Asp.net(vb.net)一起打包的全过程写一下。一.准备必要的文件1. SQL脚本文件,生成以后安装过程中需要的表和存储过程等等;生成之后,就暂时把它命名为db.sql(注意大小写)2.LisenceFile.rtf的安装文件,因为我的系统是个人的,而且free的,所以就没有做。这...

weixin_31109487的博客 1742

c#打包mysql配置文件_C#打包SQL数据库部署安装(转)

参考《ASP.NET与SQL一起打包部署安装》,这篇文章是针对VB.NET与SQL 一起打包的,但是我使用的是C#,当然只要修改一下主要安装类库就行了!C#的类库代码如下:DBCustomAction.csusing System;using System.Collections;using System.Data.SqlClient;using System.ComponentModel;usi...

weixin_33587161的博客 253

C#项目打包以及自动安装SQL Sever数据库

本文将介绍C#项目打包以及自动安装SQL Sever数据库,包括创建部署项目、将主程序项目的输出添加到部署项目中、创建安装程序类、创建自定义安装对话框等等。 ’power by: landlordh   ’for 2000,xp,2003   Module uninstall   Sub Main()   Dim myProcess As Process = N

chenli985的专栏 830

VS2019程序打包(带sql sever转access数据库)

因为自己在打包的时候根据网上的操作却并没有实现带数据库的操作,偶然看到有人说用accesss属于小型数据库系统,更容易打包,经过尝试之后确实也成功了,今天便将自己的打包过程分享给大家。 因为自己刚开始是用SQLSever做的数据库,所以先将数据库直接导出至access,至于使用脚本文件可不可以,未去尝试。 ...

w18789476022的博客 4213

IDEA连接SQL Sever,并将java打包,在命令行运行

IDEA连接SQL Sever数据库并将java打包,在命令行运行

wang_1030666的博客 594

C#打包SQL数据库部署安装

<br />参考《ASP.NET与SQL一起打包部署安装》 ,这篇文章是针对VB.NET与SQL 一起打包的,但是我使用的是C#,当然只要修改一下主要安装类库就行了!C#的类库代码如下:DBCustomAction.cs<br /><br /> using System;<br /> using System.Collections;<br /> using System.Data.SqlClient;<br /> using System.ComponentModel;<br /> using

plean的专栏 510
上一篇: Windows2003 合并分区
下一篇: SQL行列转换
wangping06
博客等级 码龄20年 32粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值