日期:2014-5-17 浏览次数:20056次

求助啊!用导入语句将一个文本导入数据库
如何将一个用逗号隔开的不定长字段的文本导入SQL Server数据库,例如:

张三,123456,办公室主任
李四毛,123456789,职员
张五花肉,123,看门大叔

要求用BCP或者其他指令,不能用导入导出工具。
------最佳解决方案--------------------
首先要有一个文本文件 d:\a.txt,内容如下
张三,123456,办公室主任
李四毛,123456789,职员
张五花肉,123,看门大叔
然后需要有数据表
create table tb(name nvarchar(10) not null,tel nvarchar(20) not null,zhiwei nvarhcar(20) null)
就可以使用语句
BULK INSERT tb   FROM 'd:\a.txt' WITH ( FIELDTERMINATOR = ',', ROWTERMINATOR ='\n')

但是假设表的字段与文本文件的字段不一致,如何插入 我还在"研究"
------其他解决方案--------------------
BULK INSERT的用法 
------其他解决方案--------------------
直接insert不就可以了吗?
------其他解决方案--------------------
麻烦写出具体指令
------其他解决方案--------------------
引用:
麻烦写出具体指令


那么详细的资料  还要写出具体??  
------其他解决方案--------------------
引用:
引用:麻烦写出具体指令

那么详细的资料  还要写出具体??


我就是看不懂啊,不然都不用问了
------其他解决方案--------------------
这版主回答问题???
------其他解决方案--------------------
引用:
首先要有一个文本文件 d:\a.txt,内容如下
张三,123456,办公室主任
李四毛,123456789,职员
张五花肉,123,看门大叔
然后需要有数据表
create table tb(name nvarchar(10) not null,tel nvarchar(20) not null,zhiwei nvarhcar(20) null)
就可以使用……

有多少列就插入多少嘛
------其他解决方案--------------------
sp_configure 'show advanced options', 1
go 
reconfigure 
go 
sp_configure 'xp_cmdshell', 1 
go reconfigure 
go 


EXEC master..xp_cmdshell 'bcp dbname..tablename in 
c:/DT.txt -c -S servername -U sa   -P password'