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

技术实现: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. 用opencv抽取视频的帧并保存为连续的图片

    转自http://blog.csdn.net/timidsmile/article/details/8283319 #include"stdafx.h" #include < ...

  2. MySQL 5.7.19 忘记密码 重置密码 配置文件my.ini示例 服务启动后停止 log配置

    [参考]java 项目 存入mysql后 变问号 MySql 5.6 (X64) 解压版 1067错误与编码问题的解决方案 一.my.ini 的mysqld下添加 skip-grant-tables ...

  3. Windowsclient SSH 远程连接Windowsserver(PowerShell Server)

    近期刚搞完SSH框架.又来研究研究SSH远程连接.为什么这么要弄这个呢?由于如今我如今开发主要在自己的笔记本(windows)上,然后写的后端都要部署到实验室的台式机(windows)上,这样一来,我 ...

  4. react学习笔记(一)用create-react-app构建 React 开发环境

    React 可以高效.灵活的用来构建用户界面框架,react利用高效的算法最小化重绘DOM. create-react-app 是来自于 Facebook,通过该命令不需配置就能快速构建 React ...

  5. Excel如何实现两个工作表数据的对比

    https://jingyan.baidu.com/article/63f236281f17650208ab3d97.html Sub 数据对比() Dim i As Integer Dim j As ...

  6. Android数据解析——JSON

    示例一: 有这样一个JSON需要解析,比如: {"thresholds": {"1e-3": 65.3,"1e-5": 76.5," ...

  7. 9.26/27 blog项目

    2018-9-26 18:05:20 放上一个老男孩b站视频连接 :https://shimo.im/docs/VN0BLgAIBdMVSa4S/ b站连接: https://space.bilibi ...

  8. ubuntu部署php7.1

    先更新本机内置的程序. sudo apt-get updatesudo apt-get upgrade 安装PHP sudo add-apt-repository ppa:ondrej/php sud ...

  9. Processing-基础小坑-

    x 坑A:) 新建一个"Walker"项目,Walker.pde,必须在Walker文件夹下... 刚开始以为如果一个文件需要引用另外一个文件中的类,只要把这两个文件放一个文件夹下 ...

  10. ASP.NET Core 实现用户登录验证的最低配置

    背景是在一个项目中增加临时登录功能,只需验证用户是否登录即可,所需的最低配置与实现代码如下. 在 Startup 的 ConfigureServices() 方法中添加 Authentication ...