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

来源:互联网 发布:淘宝店铺怎么改店名 编辑:程序博客网 时间:2024/04/30 16:27
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    }}复制代码   版权说明   如果标题未标有<转载、转>等字则属于作者原创,欢迎转载,其版权归作者和博客园共有。   作      者:温景良   文章出处:http://wenjl520.cnblogs.com/  或  http://www.cnblogs.com/

原创粉丝点击