.NET调用osql.exe执行sql脚本创建表和存储过程

简介: 文章出处:http://wenjl520.cnblogs.com/  或  http://www.cnblogs.com/using System;using System.Diagnostics;using System.
文章出处:http: // wenjl520.cnblogs.com/  或   http://www.cnblogs.com/

using System;
using System.Diagnostics;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
     public  partial  class Form1 : Form
    {
         public Form1()
        {
            InitializeComponent();
        }

         private  void button1_Click( object sender, EventArgs e)
        {
             // 参数
             string[] args =  new  string[ 5];
            args[ 0] =  " -U  " + txtUserName.Text;  // 用户名
            args[ 1] =  " -P  " + txtPassword.Text;  // 用户密码
            args[ 2] =  " -S  " + txtServer.Text;  // 服务器
            args[ 3] =  " -d  " + txtDatabase.Text;  // 数据库
            args[ 4] =  " -i  " + AppDomain.CurrentDomain.BaseDirectory +  " Install.sql "// sql脚本路径

            
// 执行
            textBox1.Text = CommandLine( " osql.exe ", args);
        }

         #region 调用命令行工具

         ///   <summary>
        
///  调用命令行工具
        
///   </summary>
        
///   <param name="name"> 命令行工具名称 </param>
        
///   <param name="args"> 可选命令行参数 </param>
        
///   <remarks> 注意:所有命令行工具都必须保存于system32文件夹中 </remarks>
        
///   <returns></returns>
         private  string CommandLine( string name,  params  string[] args)
        {
             return CommandLine(name,  "", args);
        }

         ///   <summary>
        
///  调用命令行工具
        
///   </summary>
        
///   <param name="name"> 命令行工具名称 </param>
        
///   <param name="workingDirectory"> 设置工作目录 </param>
        
///   <param name="args"> 可选命令行参数 </param>
        
///   <remarks> 注意:所有命令行工具都必须保存于system32文件夹中 </remarks>
        
///   <returns></returns>
         private  string CommandLine( string name,  string workingDirectory,  params  string[] args)
        {
             string returnValue =  "";

             using (Process commandline =  new Process())
            {
                 try
                {
                    commandline.StartInfo.UseShellExecute =  false;
                    commandline.StartInfo.CreateNoWindow =  true;
                    commandline.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                    commandline.StartInfo.RedirectStandardOutput =  true;
                    commandline.StartInfo.FileName = name;
                    commandline.StartInfo.WorkingDirectory = workingDirectory;
                     // 添加命令行参数
                     if (args.Length >  0) commandline.StartInfo.Arguments =  string.Join( "   ", args);
                    commandline.Start();
                    commandline.WaitForExit();
                    returnValue = commandline.StandardOutput.ReadToEnd();
                    commandline.Close();
                }
                 catch
                {
                    commandline.Dispose();
                     throw;
                }
            }

             return returnValue;
        }

         #endregion
    }
}

复制代码
 
 
 

目录
相关文章
|
2月前
|
存储 Shell Linux
快速上手基于 BaGet 的脚本自动化构建 .net 应用打包
本文介绍了如何使用脚本自动化构建 `.net` 应用的 `nuget` 包并推送到指定服务仓库。首先概述了 `BaGet`——一个开源、轻量级且高性能的 `NuGet` 服务器,支持多种存储后端及配置选项。接着详细描述了 `BaGet` 的安装、配置及使用方法,并提供了 `PowerShell` 和 `Bash` 脚本实例,用于自动化推送 `.nupkg` 文件。最后总结了 `BaGet` 的优势及其在实际部署中的便捷性。
133 10
|
1月前
|
存储 SQL 数据库
SQL Server存储过程的优缺点
【10月更文挑战第18天】SQL Server 存储过程具有提高性能、增强安全性、代码复用和易于维护等优点。它可以减少编译时间和网络传输开销,通过权限控制和参数验证提升安全性,支持代码共享和复用,并且便于维护和版本管理。然而,存储过程也存在可移植性差、开发和调试复杂、版本管理问题、性能调优困难和依赖数据库服务器等缺点。使用时需根据具体需求权衡利弊。
|
1月前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:详细步骤与最佳实践指南ali01n.xinmi1009fan.com
随着Web开发技术的不断进步,ASP.NET已成为一种非常流行的Web应用程序开发框架。在ASP.NET项目中,我们经常需要与数据库进行交互,特别是SQL数据库。本文将详细介绍如何在ASP.NET项目中连接SQL数据库,并提供最佳实践指南以确保开发过程的稳定性和效率。一、准备工作在开始之前,请确保您
181 3
|
1月前
|
存储 SQL 缓存
SQL Server存储过程的优缺点
【10月更文挑战第22天】存储过程具有代码复用性高、性能优化、增强数据安全性、提高可维护性和减少网络流量等优点,但也存在调试困难、移植性差、增加数据库服务器负载和版本控制复杂等缺点。
|
1月前
|
存储 SQL 数据库
Sql Server 存储过程怎么找 存储过程内容
Sql Server 存储过程怎么找 存储过程内容
58 1
|
1月前
|
存储 SQL 数据库
SQL Server存储过程的优缺点
【10月更文挑战第17天】SQL Server 存储过程是预编译的 SQL 语句集,存于数据库中,可重复调用。它能提高性能、增强安全性和可维护性,但也有可移植性差、开发调试复杂及可能影响数据库性能等缺点。使用时需权衡利弊。
|
1月前
|
存储 SQL 数据库
SQL Server 临时存储过程及示例
SQL Server 临时存储过程及示例
52 3
|
1月前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:实现过程与关键细节解析an3.021-6232.com
随着互联网技术的快速发展,ASP.NET作为一种广泛使用的服务器端开发技术,其与数据库的交互操作成为了应用开发中的重要环节。本文将详细介绍在ASP.NET中如何连接SQL数据库,包括连接的基本概念、实现步骤、关键代码示例以及常见问题的解决方案。由于篇幅限制,本文不能保证达到完整的2000字,但会确保
|
1月前
|
存储 SQL 安全
|
1月前
|
存储 SQL 数据库
使用SQL创建视图和存储过程
使用SQL创建视图和存储过程
18 0

热门文章

最新文章

下一篇
无影云桌面