zoukankan
html css js c++ java
使用bcp,循环将本地txt文本导入远程sqlserver中
txt大文件导入远程数据库,使用bcp效率极高,关于bcp的资料比较少,写了个导入的方法,在项目中应用成功,代码如下
引用空间:
using
System;
using
System.Data;
using
System.Data.SqlClient;
using
System.Diagnostics;
private
void
Page_Load(
object
sender, System.EventArgs e)
{
//
在此处放置用户代码以初始化页面
string
Conn
=
"
data source=192.168.0.1;initial catalog=Test;user id=sa;password=1
"
;
SqlConnection sqlConn
=
new
SqlConnection(Conn);
SqlCommand cmd
=
new
SqlCommand();
cmd.Connection
=
sqlConn;
SqlDataAdapter sda
=
new
SqlDataAdapter(cmd);
sqlConn.Open();
cmd.CommandText
=
"
Select * from Files
"
;
DataSet ds
=
new
DataSet();
sda.Fill(ds);
if
(ds.Tables[
0
].Rows.Count
>
0
)
{
string
BcpExec
=
""
;
for
(
int
i
=
0
;i
<
ds.Tables[
0
].Rows.Count;i
++
)//循环取本地文件名
{
BcpExec
=
@"
bcp Test..Data in D:\test\
"
;
BcpExec
+=
ds.Tables[
0
].Rows[i][
"
path
"
].ToString();
BcpExec
+=
"
-S192.168.0.1 -Usa -P1 -c -t,
"
;//组合bcp命令
Response.Write(ExeCommand(BcpExec));//执行bcp命令并显示操作结果
}
}
}
/**/
///
<summary>
///
执行Cmd命令
///
确保已经server上已经安装sql,否则使用不了bcp命令,
///
如果没有安装sqlserver需要将bcp.exe拷贝到相应目录(这个条件尚未测试)
///
</summary>
///
<param name="commandText"></param>
///
<returns></returns>
public
static
string
ExeCommand(
string
commandText)
{
Process p
=
new
Process();
p.StartInfo.FileName
=
"
cmd.exe
"
;
p.StartInfo.UseShellExecute
=
false
;
p.StartInfo.RedirectStandardInput
=
true
;
p.StartInfo.RedirectStandardOutput
=
true
;
p.StartInfo.RedirectStandardError
=
true
;
p.StartInfo.CreateNoWindow
=
true
;
string
strOutput
=
null
;
try
{
p.Start();
p.StandardInput.WriteLine(commandText);
p.StandardInput.WriteLine(
"
exit
"
);
strOutput
=
p.StandardOutput.ReadToEnd();
p.WaitForExit();
p.Close();
}
catch
(Exception e)
{
strOutput
=
e.Message;
}
return
strOutput;
}
注:ExeCommand函数执行cmd命令是参考
秋枫@Blog
http://blog.csdn.net/zhzuo/archive/2004/12/25/229006.aspx
查看全文
相关阅读:
mysql 5.7修改密码
使用zfs进行pg的pitr恢复测试
什么是构造函数?它和普通函数的区别?
匿名函数和普通函数的区别
http缓存机制
全局变量和局部变量
什么是web语义化?
ajax状态值和状态码
如何理解MVVM?
如果理解&&运算符和各类数值的布尔值
原文地址:https://www.cnblogs.com/cndsn/p/379019.html
最新文章
angulaijs中的ng-upload-file与阿里云oss服务的结合,实现在浏览器端上传文件到阿里云(速度可以达到1.5M)
STS新建的maven项目报错问题
docker日志清理
.gz解压
docker文件复制到centos/linux/ubantun环境下
gerrit原理
gitlab的完全卸载
unzip文件解压
jenkins上节点显示swap空间不足解决方案
jenkins安装
热门文章
jenkins原理
windows客户端走代理上网
mongo日常操作备忘
PostgreSQL主键索引膨胀的重建方法
postgresql pgagent 的安装及使用
mysql 序列与pg序列的比较
MySQL 5.7 并行复制实现原理与调优
How to create/restore a slave using GTID replication in MySQL 5.6
mysql relay log参数汇总
使用keepalived实现mysql主从复制的自动切换
Copyright © 2011-2022 走看看