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 ...
随机推荐
- JavaScript高级用法三之浏览器对象
综述 本篇的主要内容来自慕课网,内置对象,主要内容如下 1 window对象 2 JavaScript 计时器 3 计时器setInterval() 4 取消计时器clearInterval() 5 ...
- C++ 智能指针三
/* 智能指针shared_ptr注意点 */ #include <iostream> #include <string> #include <memory> // ...
- 假期小结 BIO, NIO, AIO
虽然忙碌,但仍小有收获,开心. 引子 BIO: Blocking IO,阻塞式IO NIO: Non-blocking IO,非阻塞式IO AIO: Async IO,异步IO 问题 什么是阻塞式IO ...
- SpringDataJPA - 复杂查询总结 (多表关联 以及 自定义分页 )
实体类 @Entity @Table(name = "t_hotel") @Data public class THotel { @Id private int id; priva ...
- python2.7 处理unicode和ascii字符串混用问题
python2.7默认的编码方式为ascii码,如下可以查询: import sys sys.getdefaultencoding() 如果直接在unicode和ascii字符串之间做计算.比较.连接 ...
- oracle 11g 使用物化视图远程增量刷新数据
① 源数据库建立物化视图日志 drop MATERIALIZED VIEW LOG ON ORG_BASEINFO/ CREATE MATERIALIZED VIEW LOG ON ORG_BASEI ...
- rhadoop linear regression 问题
library(rhdfs) library(rmr2) hdfs.init() hdfs.delete("/user/output/lm.output") map <- f ...
- OSG模拟鼠标事件影响操纵器
viewer->getEventQueue()->mouseButtonPress(0,0,1); viewer->getEventQueue()->mouseMotion(1 ...
- Linux 下配置 Git 操作免登录 ssh 公钥
cd ~/.ssh ssh-keygen -t rsa -b 4096 -C "your_email@example.com" 然后回车三连击- 可以看到当前目录下多出两个文件 i ...
- 利用media query让背景图适应不同分辨率的设备
随着上网方式的多样化,用户选择上网的工具不再仅是PC,而可以是手机,或者平板电脑.随之而来的问题是如何让网页适应不同分辨率,这给前端工程师们带来了新的挑战,其中重要的一点是如何让图片能在不同的分辨率下 ...