SQL 将txt文件导入sql数据库
更新时间:2023-08-06 05:11:01 阅读量: 实用文档 文档下载
- sql server推荐度:
- 相关推荐
SQL 将txt文件导入sql数据库,资源免费,大家分享!
就一句sql代码搞定,导入sql2000的代码。
BULK INSERT 表名 FROM 'F:\你的文本文件.txt' WITH ( FIELDTERMINATOR ='以什么符号分割数据',
ROWTERMINATOR= '以什么符号加\n结尾')--\n是回车的意思,就是回车前面是什么符号,如果没符号直接单引号\n
例如:BULK INSERT bb FROM 'F:\2008-02-18.txt' WITH ( FIELDTERMINATOR =',', ROWTERMINATOR= ',\n')
bb是表名,f盘中的F:\2008-02-18.txt文件, FIELDTERMINATOR =','每个数据是以逗号分隔的,
ROWTERMINATOR= ',\n'每行数据以逗号回车结尾。
我导入过很多次。
使用BULK INSERT
用法如下:
stu.txt 结构
1,Jim
2,Kate
3,Tom
...
BULK INSERT dbo.TABLE1
FROM 'd:\stu.txt'
WITH (
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
查看table1里的数据
select * from table1
就ok了。
在做一些web数据库管理系统的时候经常要实现将帐户批量注册的功能,今天就来讲讲如何在C#-web项目中将txt文件和excel文件导入 SQL2000数据库。
1.数据库准备
在SQL2000数据库的实例数据库pubs中建立一个数据表txtInsert,字段很简 单:id,name两个。
2.txt文本文件导入
对于数据文件导入与导出SQL2000提供了BULK INSERT和BCP语句,在这里可以使用BULK INSERT命令实现。假设在c盘上有一个文本文件stu.txt内容为:
1,tom
2,jack
3,jhon
SQL 将txt文件导入sql数据库,资源免费,大家分享!
实现导入的C#代码如下:
protected System.Web.UI.HtmlControls.HtmlInputFile fName;
protected System.Web.UI.WebControls.Button BtnInsert;
//上面两个控件自己添加
代码
private void BtnInsert_Click(object sender, System.EventArgs e) {
string fPath=this.fName.PostedFile.FileName;//获得要导入的文本文件
string extName=fPath.Substring(http://www.77cn.com.cnstIndexOf(".")+1);//获得文件的扩展名
SqlConnection con=new SqlConnection("server=.;database=pubs;uid=sa;pwd=;");//数据库连接对象
con.Open();
try
{
SqlCommand com=new SqlCommand("BULK INSERT pubs.dbo.txtInsert FROM '"+fPath+"' WITH (FIELDTERMINATOR = ',',ROWTERMINATOR= '\n')",con);
//其中的 FIELDTERMINATOR=','指明字段间所使用的分隔符为逗号
//其中 ROWTERMINATOR= '\n'指明记录间所使用的分隔符为回车
com.ExecuteNonQuery();
Response.Write("<script language=javascript& gt;alert('数据导入成功!')</script>");
}
catch (SqlException SQLexc)
{
Response.Write("导入数据库时出错:" + SQLexc.ToString());
}
con.Close();
}
好了,这个txt文件的导入相对简单,在数据库中我也没有设置主键,我在里面也没有加出错回滚事务操作,在下面的excel文件的导入中介绍。
3.excel 文件的导入
在c盘里建立一个stu.xls文件,在sheet1工作表中有两列数据如下:
编号 姓名
1 tom
2 jack
3 john
SQL 将txt文件导入sql数据库,资源免费,大家分享!
注 意,工作表的第一行是作为标题行的不会被插入到数据库中,真正导入从第二行开始。
为了演示事物出错回滚,在这里将txtInsert数据库表中的 id字段设置为主键。实现的C#代码如下:
代码
private void BtnInsert_Click(object sender, System.EventArgs e) {
string fPath=this.fName.PostedFile.FileName;//获得要导入的文本文件
string extName=fPath.Substring(http://www.77cn.com.cnstIndexOf(".")+1);//获得文件的扩展名
SqlConnection con=new SqlConnection("server=.;database=pubs;uid=sa;pwd=;");//数据库连接对象
con.Open();
//注意下面的连接字符串,是它起到了导入的作用
SqlCommand excelCmd=new SqlCommand("insert into txtInsert select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE="+fPath+"',Sheet1$)",con);
SqlTransaction myTran=con.BeginTransaction();//开始一个事务操作 excelCmd.Transaction=myTran;
try
{
excelCmd.ExecuteNonQuery();
http://www.77cn.com.cnmit();//提交事务
Response.Write("<script language=javascript& gt;alert('数据导入成功!')</script>");
}
catch (SqlException err)
{
myTran.Rollback(); //出错回滚事务操作
//以下三行是去掉数据库出错信息中的非法字符单引号、回车和换行符,否则在使用时 javascript代码将有语法错误
//因为js的编码和c#的编码不同
string errString=err.Message.Replace("'"," ");
errString=errString.Replace(Convert.ToChar(13).ToString(),""); errString=errString.Replace(Convert.ToChar(10).ToString(),""); //显示出错信息框
Response.Write("<script language=javascript& gt;alert('导入数据库时出错!详细信息:"+errString+"')</script>");
}
con.Close();
}
这里“显示出错信息框”开始我没有田间那三行代码,结果搞了半天,最后还是在html文件中发现javascript代码部分出现了分行,老是提示“未结 束的字符串常量”,所以导致不能打开信息框,郁闷死我了,花了好多时间。
4.将excel中部分列导入数据库的方法
SQL 将txt文件导入sql数据库,资源免费,大家分享!
上面讲了关于将整个 excel文件导入数据库的方法,那么在实际项目中遇到将excel文件中若干列导入数据库怎么办的呢,原理差不多,我就将代码直接给出了:
代码
string fPath=this.fName.PostedFile.FileName;//获得要导入的文本文
件
string extName=fPath.Substring(http://www.77cn.com.cnstIndexOf(".")+1);//获得文件的扩展名
SqlConnection con=new SqlConnection("server=.;database=pubs;uid=sa;pwd=;");//数据库连接对象
con.Open();
string mystring="Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = '"+fPath+"';Extended Properties=Excel 8.0";
OleDbConnection cnnxls = new OleDbConnection (mystring);
OleDbDataAdapter myDa =new OleDbDataAdapter("select * from [Sheet1$]",cnnxls);
DataSet myDs =new DataSet();
myDa.Fill(myDs);
if(myDs.Tables[0].Rows.Count > 0)
{
string strSql = "";
string CnnString="Provider=SQLOLEDB;database=pubs;server=.;uid=sa;pwd=";
OleDbConnection conn =new OleDbConnection(CnnString);
conn.Open ();
OleDbCommand myCmd =null; for(int i=0; i<myDs.Tables[0].Rows.Count;i++)//第一个工作表中行数,不包括第一行,
{
strSql="insert into txtInsert(id,name) values (";
strSql += myDs.Tables[0].Rows[i].ItemArray[0].ToString() + ", '";
strSql += myDs.Tables[0].Rows[i].ItemArray[1].ToString() + "')";
myCmd=new OleDbCommand(strSql,conn);
try
{
myCmd.ExecuteNonQuery
();
Response.Write("<script language=javascript& gt;alert('数据导入成功!')</script>");
SQL 将txt文件导入sql数据库,资源免费,大家分享!
}
catch (OleDbException err)
{
Response.Write("导入数据库时出错:" +err.ToString());
break;
}
}
conn.Close();
正在阅读:
SQL 将txt文件导入sql数据库08-06
浅谈初中数学集体备课12-23
虽败犹荣的篮球赛作文600字06-26
ANSYS 经典界面与ANSYS WORKBENCH的联合仿真10-25
桂林攻略12-27
嵌入式系统第三套试题03-07
会 议 须 知- 北京林业大学林学院12-19
属于我的自信作文700字06-19
教师到企业挂职锻炼一套表格(完美表格)03-28
《过故人庄》与《游山西村》比较阅读11-21
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 导入
- SQL
- 数据库
- 文件
- txt
- 外研社版初中英语九年级重点词汇总结
- 财务管理在科研单位中的作用
- 一种双工位点胶机
- 2012劳动关系协调师 新 第一章 劳动标准
- 参观超然台书画展有感---刘畅
- 党建强 市场强 全国商品交易市场党建工作研讨会在义乌召开
- 历年广东高考分数线
- 梦想的中考满分作文
- 晶体学基础(第二章)
- 第24课红色政权的建立
- 浅谈如何加强教师职业道德修养
- 美国独立战争PPT课件
- 网络环境下校本教研活动初探
- 山东省高密市2015届高三12月检测理综物理试题 Word版含答案
- 高中英语基础知识点汇总
- 大学生德育开题报告22
- 笑猫日记——读书分享
- 社会政策概论课件 19 保护妇女基本权益的社会政策
- 高中英语阅读理解经典试题(含答案) 百度文库
- Linux实践 shell编程