日期:2014-05-18  浏览次数:20465 次

如何把.txt里的数据读到数据库的表里
现在又.txt的文件,里面有 两列数据(每行有许多行),全是数字的 怎么把它读到数据库的表里,两行数据对应两个字段,最好不要导到excel里了,那样有点麻烦,求各位大牛帮忙!!

------解决方案--------------------
HDR=YES 的时候,第一行被认为是字段名
HDR=NO 的时候,第一行被认为是数据

select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Text;HDR=NO;DATABASE=C:\' --c:\是目录
,Surveys#txt)--aa#txt是文本文件名aa.txt

------解决方案--------------------
一楼的做法我没用过,我一般的做法是,写一个程序,把txt文本一行一行读取,逐条插入数据库
重要的一点是,你要让你的txt文本里面的数据有规律可循
------解决方案--------------------
SQL code
/** 导入文本文件 */
EXEC master..xp_cmdshell 'bcp dbname..tablename in c:\DT.txt -c -Sservername -Usa -Ppassword' 

/** 导出文本文件 */
EXEC master..xp_cmdshell 'bcp dbname..tablename out c:\DT.txt -c -Sservername -Usa -Ppassword' 
或 
EXEC master..xp_cmdshell 'bcp "Select * from dbname..tablename" queryout c:\DT.txt -c -Sservername -Usa -Ppassword' 

/**导出到TXT文本,用逗号分开*/ 
exec master..xp_cmdshell 'bcp "库名..表名" out "d:\tt.txt" -c -t ,-U sa -P password' 


BULK INSERT 库名..表名 
FROM 'c:\test.txt' 
WITH ( 
FIELDTERMINATOR = ';', 
ROWTERMINATOR = '\n' 
)