C# cmd bcp 导出数据
背景需求:应用系统间数据自动同步处理,要求高效无人工干预
技术实现: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 导出数据的更多相关文章
- SQL SERVER ->> BCP导出数据到平面文件
--开启xp_cmdshell sp_configure ‘show advanced options’, ; GO RECONFIGURE; GO sp_configure ‘xp_cmdshell ...
- BCP导出数据到EXCEL
SET @FilePath='D:\TEST.xls' SET @sql='bcp "SELECT * FROM XXX.dbo.XXX WITH(NOLOCK) WHERE XXX=''X ...
- BCP导出导入大容量数据实践
前言 SQL SERVER提供多种不同的数据导出导入的工具,也可以编写SQL脚本,使用存储过程,生成所需的数据文件,甚至可以生成包含SQL语句和数据的脚本文件.各有优缺点,以适用不同的需求.下面介绍大 ...
- BCP导出导入
BCP导出导入大容量数据实践 前言 SQL SERVER提供多种不同的数据导出导入的工具,也可以编写SQL脚本,使用存储过程,生成所需的数据文件,甚至可以生成包含SQL语句和数据的脚本文件.各有优 ...
- oracle导入导出数据
导入数据,cmd imp 导出数据,cmd exp
- 常见SQL Server导入导出数据的几个工具
摘自:http://www.cnblogs.com/chenxizhang/archive/2011/06/09/2076542.html 在我们的日常工作中,与数据库打交道的机会越来越多.这一篇文章 ...
- 一、SQL系列之~使用SQL语言导出数据及实现定时导出数据任务
一般情况下,SQL数据库中带有导入与导出数据的直接按键操作,点击数据表所在的数据库--任务--导出/导入数据,根据导入/导出向导直接将数据导出即可. 但导出的数据格式多为Excel格式,如果需要导出的 ...
- SQL使用技巧-批量删除-批量更新-bcp导出-跨服务器sql
1.循环删除数据 while @@rowcount>0 begin delete top (1000) from T where OperateTime >=2014 ...
- DOS 选择跳转实现、dos + bcp 双击导入和导出数据
DOS 选择跳转实现.dos + bcp 双击导入和导出数据 option.bat @echo off :Start2 cls goto Start :Start title Frequently U ...
随机推荐
- Cisco NTP配置
Windows 或 Linux 系统配置成NTP服务器,思科交换机配置成NTP客户端 ##创建VLAN 10 SW01>enable SW01#vlan database SW01(vlan)# ...
- Java面向对象的基本概念(对象、封装、继承、多态、抽象、接口、泛型)
对象:是一个自包含的实体,用一组可识别的特征和行为来标识. 类:具有相同的属性和功能的对象的抽象合集.(类关键字class,首字母大写). 实例:就是一个真实的对象. 实例化:创建对象的过程,关键字是 ...
- linux下Ftp服务安装
安装vsftp 使用yum命令安装vsftp #yum install vsftpd -y 如果yum安装不成功,可以到 http://pkgs.org/centos-6/centos-x86_64/ ...
- alibaba的FastJson(高性能JSON开发包) json转换
http://www.oschina.net/code/snippet_228315_35122 class User{ private int id; private String name; pu ...
- [Node.js] 08 - Web Server and REST API
有了 [Node.js] 07 - Html and Http 作为基础,再继续下面的内容. Node.js 路由 Node.js GET/POST请求 Node.js Web 模块 Node.js ...
- [React] 16 - Topic: Mixins & Higher-Order Components
到底是个什么东东,待学习中... Ref: https://www.cnblogs.com/wonyun/p/5930333.html
- SpringBoot------Maven Install报错
报错信息: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin::compile (default-compil ...
- 14桥接模式Bridge
一.什么是桥接模式 Bridge 模式又叫做桥接模式,是构造型的设 计模式之一.Bridge模式基于类的最小设计原则,通过 使用封装,聚合以及继承等行为来让不同的类承担不同 的责任.它的主要特点是把抽 ...
- Unity UI相关总结
UIGrid 加载面板时,如果面板中含有大容量的 UIGrid,可能会很卡.我们可以只加载 UIGrid 的前 n 个单元格对象,在显示面板之后,利用协程加载剩余的所有单元格,每帧加载 m 个. 同样 ...
- Error running app: Default Activity Not Found
最近在调试安装Android Widget程序时,碰到Error running app: Default ActivityNot Found. 因为简单的Widget程序,如果不和应用程序关联,就不 ...