背景需求:应用系统间数据自动同步处理,要求高效无人工干预

技术实现:C#启动cmd,通过BCP命令传入必要参数,实现数据导出

/// <summary>
/// cmd下,启动应用程序命令
/// 不显示命令窗口
/// </summary>
/// <param name="programExePath">指定应用程序的完整路径</param>
/// <param name="programParmStr">执行命令行参数</param>
public bool StartCmd(string programExePath, string programParmStr)
{
bool result = false;
Process myPro = new Process();
try
{
using (myPro)
{
//如果调用程序路径中有空格时,cmd命令执行失败,可以用双引号括起来 ,在这里两个引号表示一个引号(转义)
string str = "";
if (programExePath.Trim() == "")
str = string.Format(@"{0} {1}", programParmStr, "&exit");
else
str = string.Format(@"""{0}"" {1} {2}", programExePath, programParmStr, "&exit");

ProcessStartInfo StartInfo = new ProcessStartInfo();
//设定需要执行的命令
StartInfo.FileName = "cmd.exe";
//StartInfo.Arguments = str;
//不使用系统外壳程序启动
StartInfo.UseShellExecute = false;
//重定向输入
StartInfo.RedirectStandardInput = true;
//重定向输出
StartInfo.RedirectStandardOutput = true;
StartInfo.RedirectStandardError = true;
//不创建窗口
StartInfo.CreateNoWindow = true;
myPro.StartInfo = StartInfo;
myPro.Start();

myPro.StandardInput.WriteLine(str);
//myPro.StandardOutput.ReadToEnd();
myPro.StandardInput.AutoFlush = true;
myPro.StandardOutput.ReadToEnd();
myPro.WaitForExit();

result = true;
}
}
catch(Exception er)
{
myPro.Close();

throw new Exception("错误006:"+er.Message);

}
return result;
}

C# cmd bcp 导出数据的更多相关文章

  1. SQL SERVER ->> BCP导出数据到平面文件

    --开启xp_cmdshell sp_configure ‘show advanced options’, ; GO RECONFIGURE; GO sp_configure ‘xp_cmdshell ...

  2. BCP导出数据到EXCEL

    SET @FilePath='D:\TEST.xls' SET @sql='bcp "SELECT * FROM XXX.dbo.XXX WITH(NOLOCK) WHERE XXX=''X ...

  3. BCP导出导入大容量数据实践

    前言 SQL SERVER提供多种不同的数据导出导入的工具,也可以编写SQL脚本,使用存储过程,生成所需的数据文件,甚至可以生成包含SQL语句和数据的脚本文件.各有优缺点,以适用不同的需求.下面介绍大 ...

  4. BCP导出导入

    BCP导出导入大容量数据实践   前言 SQL SERVER提供多种不同的数据导出导入的工具,也可以编写SQL脚本,使用存储过程,生成所需的数据文件,甚至可以生成包含SQL语句和数据的脚本文件.各有优 ...

  5. oracle导入导出数据

    导入数据,cmd   imp 导出数据,cmd   exp

  6. 常见SQL Server导入导出数据的几个工具

    摘自:http://www.cnblogs.com/chenxizhang/archive/2011/06/09/2076542.html 在我们的日常工作中,与数据库打交道的机会越来越多.这一篇文章 ...

  7. 一、SQL系列之~使用SQL语言导出数据及实现定时导出数据任务

    一般情况下,SQL数据库中带有导入与导出数据的直接按键操作,点击数据表所在的数据库--任务--导出/导入数据,根据导入/导出向导直接将数据导出即可. 但导出的数据格式多为Excel格式,如果需要导出的 ...

  8. SQL使用技巧-批量删除-批量更新-bcp导出-跨服务器sql

    1.循环删除数据   while @@rowcount>0 begin      delete top (1000)  from  T   where OperateTime >=2014 ...

  9. DOS 选择跳转实现、dos + bcp 双击导入和导出数据

    DOS 选择跳转实现.dos + bcp 双击导入和导出数据 option.bat @echo off :Start2 cls goto Start :Start title Frequently U ...

随机推荐

  1. maven 打jar 被引用后 出现 cannot resolve symbol 错误 生成jar包形式代码文件组织格式 非springboot文件组织格式

    项目A引用项目B A项目中pom引入没有报错,但是:1,idea里面查找到b项目中的代码时,会提示b代码中的引用不正确.提示无法解析语法 解压B的jar,发现目录是: springboot文件组织格式 ...

  2. maven一键部署tomcat war包

    1.环境如下 eclipse.apache-maven-3.0.5.apache-tomcat-7.0.39 2.配置如下 apache-tomcat-7.0.39配置C:\Program Files ...

  3. Swing中支持自动换行的WrapLayout

    http://www.cnblogs.com/TLightSky/p/3482454.html ———————————————————————————————————————————————————— ...

  4. Oracle中Select语句完整的执行顺序

    oracle Select语句完整的执行顺序: .from 子句组装来自不同数据源的数据: .where 子句基于指定的条件对记录行进行筛选: .group by子句将数据划分为多个分组: .使用聚集 ...

  5. history 命令历史

    在终端中按捉[Ctrl]键的同时[r]键,出现提示:(reverse-i-search),此时你尝试一下输入你以前输入过的命令,当你每输入一个字符 的时候,终端都会滚动显示你的历史命令.当显示到你想找 ...

  6. IOC容器特性注入第五篇:查找(Attribute)特性注入

    前面几篇文章分别介绍:程序集反射查找,特性,容器,但它们之间贯穿起来,形成查找Attribute注入IOC容器,就得需要下面这个类帮忙: 1.DependencyAttributeRegistrato ...

  7. [GAN] How to use GAN - Meow Generator

    一篇介绍GAN应用的文章.今后GAN模型学习的主要内容. 中文链接:萌物生成器:如何使用四种GAN制造猫图 原文链接:https://ajolicoeur.wordpress.com/cats/ 项目 ...

  8. C# 如何提取字符串中的数字

    下面讲解如何在字符串当中抓取到数字 方法一.使用正则表达式 1.纯数字提取 string str = "提取123abc提取"; //我们抓取当前字符当中的123 string r ...

  9. adb.exe,start-server' failed

    解决方法:     来自为知笔记(Wiz)

  10. 【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第二周测验【中英】

    [中英][吴恩达课后测验]Course 1 - 神经网络和深度学习 - 第二周测验 第2周测验 - 神经网络基础 神经元节点计算什么? [ ]神经元节点先计算激活函数,再计算线性函数(z = Wx + ...