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 ...
随机推荐
- Mac获取公网ip
终端输入 curl http://members.3322.org/dyndns/getip way 2: ➜ ~ wget http://ipecho.net/plain -O - -q ; ech ...
- Spring 3 Java Based Configuration with @Value
Springsource has released the Javaconfig Framework as a core component of Spring 3.0. There is a tre ...
- Java中浮点数的处理
import java.text.DecimalFormat; String addGold = String.valueOf(new DecimalFormat("0").for ...
- MyBatis Generator使用com.mysql.cj.jdbc.Driver遇到的问题
MyBatis Generator使用com.mysql.cj.jdbc.Driver Mybatis Generator 1.3.5 新建了一个decision库,并创建了一张user表 impor ...
- electron安装+运行+打包成桌面应用+打包成安装文件+开机自启动
1.初始化node项目,生成package.json文件 npm init 2.安装electron,并保存为开发依赖项 npm install electron -D 3.根目录下新建index.j ...
- Android使用Fragment实现TabHost效果
现在Fragment的应用真的是越来越广泛了,之前Android在3.0版本加入Fragment的时候,主要是为了解决Android Pad屏幕比较大,空间不能充分利用的问题,但现在即使只是在手机上, ...
- Spring.NET依赖注入框架学习--简介
Spring.NET依赖注入框架学习--Spring.NET简介 概述 Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序.它提供了很多方面的功能,比如依赖注入. ...
- CVE-2019-8341 Jinja2 RCE漏洞学习
漏洞简述 漏洞简介 Jinja2.10版本,Environment的实例方法from_string,存在RCE,该函数在内部实现逻辑中,存在exec函数去执行了,from_string函数参数中的ji ...
- onems设备管理系统(TR-069和OMA)
onems设备管理系统(TR-069和OMA) 沃克斯科技OneMS设备管理套件是一个全面的为服务提供商和企业提供自动配置和远程管理功能的设备管理解决方案.它利用现有的网络基础设施来自动化订购,预配置 ...
- 使用commons-net做FTP功能的异常 java.lang.ClassNotFoundException: org.apache.oro.text.regex.Malformed
最近使用Apache的commons-net.jar做FTP上传下载功能,点击“上传”的时候报错,如下: java.lang.ClassNotFoundException: org.apache.or ...