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
查看全文
相关阅读:
Logstash
收藏学习Linux好用的网站
Elasticsearch
Elasticsearch-head
Kibana
Metricbeat
filebeat
elelelleeleELK
MySQL对库的操作
【Django】URL控制器
原文地址:https://www.cnblogs.com/cndsn/p/379019.html
最新文章
关于/data/data/目录的一些重要结论
Android: about /data/data/package_name/lib directory
startActivityForResult无法调用singleTask的Activity
http连接客户端处理方式
proguard之常用
bind service三种方式
Bluetooth LE
android依赖注入
gradle android L problem
Visual C++ 打印编程技术-编程基础
热门文章
Visual C++ 打印编程技术-打印基础知识
CWnd::UpdateData
DDX_Text (MFC)
泛型约束
AcroExch.Rect 单位、属性问题
acrobat GetSize 返回 x,y 值单位
Object To Enum
无法绑定到新的显示成员,参数名:newDisplayMember
Stream To String , String To Stream
metricbeat,filebeat仪表盘的安装以及在Kibana上的展示
Copyright © 2011-2022 走看看