导这两种类型的文件,都有一定的要求。
对于.txt文件,需要数据非常整齐,有间隔符,且每行分隔后的数据项数目、类型一致。例如:
c1@c2@c3@c4
101@2007-1-1@lislie@中国
102@2008-1-1@merry@中国
第一行为表头,如此我们在导入数据时,可以选择导入.txt文件中的部分字段:
SELECT * FROM
OPENROWSET('MSDASQL','Driver={Microsoft Text Driver (*.txt; *.csv)};DEFAULTDIR=d:/DataWarehouse;Extensions=CSV;',
'SELECT
c1,c2,c3
FROM [textname.txt]')
where c1 is not null
tableName为数据库目标表格,textname.txt为文件名,DEFAULTDIR指定.txt文件所在路径。where条件,可过滤.txt文件中数据。
.xls文件的数据相对整齐,但在写脚本导数据时,还是有一些注意的地方:
INSERT INTO @tptablename
SELECT *
FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source='
+ @Filepath + @FileName
+ '.xls;Extended Properties=Excel 8.0')...[@SheetName$]
@tptablename为目标表表名,@Filepath为.xls文件路径,@FileName为文件名前缀,拼接后,是包含文件系统完整路径的excell文件,@SheetName为Excell工作表名。要求表的字段跟excell的一直,且类型符合。
本文介绍了如何将格式整齐的.txt文件和.xls文件中的数据导入到数据库中,并提供了具体的SQL语句示例,包括选择性导入字段和过滤数据的方法。
976

被折叠的 条评论
为什么被折叠?



