安装程序自动安装数据库

简介:

添加新项中添加安装程序类 

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


namespace  DBCustomAction
{
    
/// <summary>
    
/// DBCustomAction 的摘要说明。
    
/// </summary>

    [RunInstaller(true)]
    
public class DBCustomAction : System.Configuration.Install.Installer
    
{
        
/// <summary>
        
/// 必需的设计器变量。
        
/// </summary>

        private System.ComponentModel.Container components = null;
        
private string strPass = "";

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

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


        
Component Designer generated code

        
public override void Install(System.Collections.IDictionary stateSaver)
        
{
        
            
//入口
            strPass = this.Context.Parameters["strPass"];
            AddDBTable(
"RequestSys");//RequestSys为数据库名称

        }

        
private string  GetSql(string strName)
        
{
            
try
            
{
                
//' Get the current assembly.
                Assembly Asm = Assembly.GetExecutingAssembly();
                
// Resources are named using a fully qualified name
                
                Stream strm  
= Asm.GetManifestResourceStream(Asm.GetName().Name + "." + strName);
                
                
//Read the contents of the embedded file.
                StreamReader reader= new StreamReader(strm);//,System.Text.Encoding.Unicode);
            
                
                
return reader.ReadToEnd();
            }

            
catch
            
{
                
return null;
            }

                                                                                                                                      
        }

        
private void ExecuteSql(string DatabaseName , string Sql)
        
{

            SqlConnection sqlConnection1 
= new SqlConnection("user id=sa;password="+strPass+";database=master;server=(local)") ;
            SqlCommand Command  
= new SqlCommand(Sql, sqlConnection1);
            Command.Connection.Open();
            Command.Connection.ChangeDatabase(DatabaseName);
            
            
try
            
{
                Command.ExecuteNonQuery();
            }


            
finally
            
{
                
// Finally, blocks are a great way to ensure that the connection 
                Command.Connection.Close();
            }

        
        }

        
protected void  AddDBTable(string strDBName )
        
{
            
try
            
{
                
//Create the database.
                ExecuteSql("master""CREATE DATABASE " + strDBName);
                
// Create the tables.
                ExecuteSql(strDBName, GetSql("sql.txt"));
            }

            
catch
            
{
                
            }

        }

        

    }

}



本文转自高海东博客园博客,原文链接:http://www.cnblogs.com/ghd258/archive/2005/10/25/262046.html,如需转载请自行联系原作者
相关文章
|
缓存 Linux 调度
【YashanDB数据库】VMware虚拟机使用默认安装,在掉电之后数据库无法启动
VMware虚拟机使用默认安装,在掉电之后数据库无法启动
|
7月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
803 7
|
12月前
|
Ubuntu 关系型数据库 Linux
Linux数据库安装
本文介绍了在CentOS 8.0和Ubuntu 22.04系统上安装、配置和启动MariaDB数据库服务器的详细步骤。包括通过`yum`和`apt`包管理器安装MariaDB服务,启动并检查服务运行状态,设置root用户密码以及连接数据库的基本操作。此外,还展示了如何在Ubuntu上更新软件包列表、安装依赖项,并验证MariaDB的版本和运行状态。通过这些步骤,用户可以成功部署并初始化MariaDB环境,为后续数据库管理与应用开发奠定基础。
710 61
|
11月前
|
SQL 关系型数据库 MySQL
MySQL下载安装全攻略!小白也能轻松上手,从此数据库不再难搞!
这是一份详细的MySQL安装与配置教程,适合初学者快速上手。内容涵盖从下载到安装的每一步操作,包括选择版本、设置路径、配置端口及密码等。同时提供基础操作指南,如数据库管理、数据表增删改查、用户权限设置等。还介绍了备份恢复、图形化工具使用和性能优化技巧,帮助用户全面掌握MySQL的使用方法。附带常见问题解决方法,保姆级教学让你无忧入门!
1279 21
MySQL下载安装全攻略!小白也能轻松上手,从此数据库不再难搞!
|
10月前
|
存储 数据库连接 数据库
告别数据库瓶颈!用这个技巧让你的程序跑得飞快!
本文介绍了数据库连接池的概念及其在性能优化中的重要性,通过两个示例展示了如何管理 SQLite 数据库连接。首先,手动实现了一个基于 `sqlite3` 和 `queue.Queue` 的简单连接池,涵盖初始化、获取与释放连接的核心流程。接着,使用功能更强大的 `SQLAlchemy` 库创建连接池,简化了连接管理并支持更多高级特性。对比两种方式后发现,自定义连接池适合学习和小型应用,而 `SQLAlchemy` 更适用于复杂场景。合理使用连接池可显著提升高并发环境下的数据库操作效率。
159 1
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
1252 42
|
监控 Java Shell
【YashanDB 知识库】ycm 托管数据库时,数据库非 OM 安装无法托管
本文主要介绍了因数据库未按规范使用 yasboot 安装导致的问题及解决方法。问题表现为无 yasom 和 yasagent 进程,且目录结构缺失,致使 ycm 无法托管与监控。分析发现可能是数据库版本旧或安装不规范引起。解决方法为先生成配置文件,安装 yasom 和 yasagent,再生成并修改托管配置模板,最终通过命令完成托管至 yasom 和 ycm。总结强调了按规范安装数据库的重要性以避免类似问题。
|
SQL NoSQL 关系型数据库
超强数据库管理软件推荐-没有之一-还在用Navicat管理本地数据库的吗?还在为Navicat寻求绿色版或者购买正版的费用望而却步吗?DBeaver让你解决所有数据库本地编写问题-优雅草央千澈-DBeaver下载和安装
超强数据库管理软件推荐-没有之一-还在用Navicat管理本地数据库的吗?还在为Navicat寻求绿色版或者购买正版的费用望而却步吗?DBeaver让你解决所有数据库本地编写问题-优雅草央千澈-DBeaver下载和安装
1092 18
超强数据库管理软件推荐-没有之一-还在用Navicat管理本地数据库的吗?还在为Navicat寻求绿色版或者购买正版的费用望而却步吗?DBeaver让你解决所有数据库本地编写问题-优雅草央千澈-DBeaver下载和安装
|
监控 数据库
【YashanDB知识库】ycm托管数据库时,数据库非OM安装无法托管
### 简介 在检查数据库安装时,发现未使用yasboot安装,导致无yasom和yasagent进程及缺少相关目录,无法通过ycm托管和监控。为解决此问题,需先将数据库托管到yasom中,再托管到ycm中。具体步骤包括生成配置文件、安装yasom和yasagent、修改并执行托管配置。最终确保数据库能被正常托管和监控。经验总结:应按规范使用yasboot安装数据库,避免后续问题。 (239字符)
|
监控 Java Shell
【YashanDB 知识库】ycm 托管数据库时,数据库非 OM 安装无法托管
【YashanDB 知识库】ycm 托管数据库时,数据库非 OM 安装无法托管
下一篇
开通oss服务