向sqlServer中导入Txt文本文档中已有固定格式的数据
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是表名,c盘中的C:1.txt文件, FIELDTERMINATOR =','每个数据是以逗号分隔的,ROWTERMINATOR= ',\n'每行数据以逗号回车结尾。
使用BULKINSERT
用法如下:
stu.txt 结构
1,Jim
2,Kate
3,Tom
...
BULK INSERT dbo.TABLE1
FROM 'c:\1.txt'
WITH (
FIELDTERMINATOR = '|',
ROWTERMINATOR = '\n'
)
查看table1里的数据
select * from table1
就ok了。
在练习中使用这样的方法在WinForm程序中实现文本文档向sqlServer数据库中导入数据
1.数据库准备
在sql2000数据库的实例数据库pubs中建立一个数据表txtInsert,字段很简 单:id,name两个。
2.txt文本文件导入
对于数据文件导入与导出sqlServer提供了BULK INSERT和BCP语句,在这里可以使用BULK INSERT命令实现。假设在c盘上有一个文本文件stu.txt内容为:
1,tom
2,jack
3,jhon
......
实现导入的C#代码如下:
TextBox
Button
//上面两个控件自己添加
protected void Button1_Click(object sender,EventArgs e)
{
string connectstr = ConfigurationManager.ConnectionStrings["strsql"].ConnectionString;
sqlConnection conn = new sqlConnection(connectstr);
conn.open();
sqlCommand command = new sqlCommand();
command.CommandText = "BULK INSERT N_Student from '" + TextBox1.Text + "' with (fieldterminator='|',rowterminator='\n')";
command.Connection = conn;
try
{
int i = command.ExecuteNonQuery();
if (i > 0)
{
Response .Write ("<scritp>alert('导入成功!')</script>");
this.TextBox1.Text = "";
}
}
catch (Exception error)
{
Response.Write("<scritp>alert('导入失败:"+error+"')</script>");
}
conn.dispose();
command.dispose();
}
这样做有一点最明显的不足是需要使用者自行输入文本文档的完整路径
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。