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.youkuaiyun.com/zhzuo/archive/2004/12/25/229006.aspx 转载于:https://www.cnblogs.com/cndsn/archive/2006/04/19/379019.html