T-SQL数据导入:DTS语句

SqlServer查询分析器中读取Excel的办法

select * from openrowset('Microsoft.Jet.OLEDB.4.0','Excel 8.0;HDR=no;DataBase=Excel_Path;',SheetName$)

例如:

select F1,F2,F3 from openrowset('Microsoft.Jet.OLEDB.4.0','Excel 8.0;HDR=NO;DataBase=D:\Example.xls;','sheet1$)

注意Sheet名不能以数字开头,虽然在Excel中Sheet以数字开头不会由问题,但使用DTS语句时,Sheet用数字开头必然造成无法找到表的错误

SqlServer查询分析器中读取txt:

bulk insert tableName from 'filepath' with(fieldterminator='...',rowterminator='...')

例如:

BULK INSERT t_account_info FROM 'D:\Account\071201.txt' WITH (FIELDTERMINATOR='|',ROWTERMINATOR='\n')其中txt内数据格式:

20071201|213|32323|1 \n

20071203|123|32326|4\n

如果行结尾是\r\n,则将rowterminator设定为\r\n,Fieldterminator大家一眼就看出来,就不多嘴了

注意的是如果DB中药操作的表中有时间类型字段,那么这个时间字段的格式应该是yyyymmdd或者更详细的格式,但一定不能是yyyy-mm-dd和类似格式,因为DB在进行Bulk Insert时,自动进行了转换

 

posted @ 2008-10-31 11:20  仲卿  阅读(390)  评论(0编辑  收藏  举报