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
查看全文
相关阅读:
ffmpeg
HDU 1031 Design T-Shirt
HDU 1029 Ignatius and the Princess IV
HDU 1022 Train Problem I
HDU 1017 A Mathematical Curiosity
HDU 1015 Safecracker
HDU 1002 A + B Problem II
HDU 1070 Milk
高精度算法(一)
codeblocks 使用心得
原文地址:https://www.cnblogs.com/cndsn/p/379019.html
最新文章
浅谈对路由的理解
策略模式
简单工厂模式
单例模式
java 基本数据类型、包装类和String类型之间的转换
快速排序-java实现
Nginx + Tomcat + 的HTTPS 配置
关于static关键字
java中 this的作用
反射动态的创建对象的两种方式
热门文章
反射获取Class对象的三种方式
网页爬虫
正则表达式练习
正则表达式
简易的记事本程序
GUI以及事件监听机制
练习:按字节截取字符
利用IO流把单个文件切割成碎片文件
ByteArrayInputStream&ByteArrayOutputStream
Inside The C++ Object Model
Copyright © 2011-2022 走看看