有一个CSV文件(比如文件名qi130813.csv)如下格式:第1行:
000001,"GG","0",000000,20130813第2行:
000002,"QQ","0","1",080000,"AGKB18",91,000003500,000000000,00043,000142400,00,000000000104,000000000,001第3行:
000003,"QQ","0","1",080000,"AGKB28",90,000004350,000000000,00043,000142400,00,000000000104,000000000,001第4行:
000004,"QP","0","1",080000,"AAA   ",07,000000000,000,000000000,000,050150000," ",050150000,050150000,"     "," ",00,"C",20130813,000000000,000000000,001第5行:
000005,"QP","0","1",080000,"AAC   ",01,000000000,000,000000000,000,001115000," ",001115000,001115000,"     "," ",00,"C",20130813,000000000,000000000,001第6行:
000006,"QQ","0","1",080000,"XFL3U ",97,000525100,000000000,00036,000000000,00,000000001000,000000000,001第7行:
000007,"GE","0",004015---------------------说明---------
第1行和第7行就是一个头,尾,可以去掉.
第2,3,6行都有15列;
第4,5行都有23列;想把上面的数据导入到一个临时表:
CREATE TABLE [dbo].[signal_TMP] (
[Date] [varchar] (10) NULL ,
[Col01] [varchar] (20) NULL ,
[Col02] [varchar] (20) NULL ,
[Col03] [varchar] (20) NULL ,
[Col04] [varchar] (20) NULL ,
[Col05] [varchar] (20) NULL ,
[Col06] [varchar] (20) NULL ,
[Col07] [varchar] (20) NULL ,
[Col08] [varchar] (20) NULL ,
[Col09] [varchar] (20) NULL ,
[Col10] [varchar] (20) NULL ,
[Col11] [varchar] (20) NULL ,
[Col12] [varchar] (20) NULL ,
[Col13] [varchar] (20) NULL ,
[Col14] [varchar] (20) NULL ,
[Col15] [varchar] (20) NULL ,
[Col16] [varchar] (20) NULL ,
[Col17] [varchar] (20) NULL ,
[Col18] [varchar] (20) NULL ,
[Col19] [varchar] (20) NULL ,
[Col20] [varchar] (20) NULL ,
[Col21] [varchar] (20) NULL ,
[Col22] [varchar] (20) NULL ,
[Col23] [varchar] (20) NULL 
) 导入语句:declare @cmd varchar(1000),@Datadate varchar(8),@SQLString varchar(4000)   
DECLARE @result int
DECLARE @Path varchar(128) ,
@FileName varchar(128)set @Datadate = '20130813'
Set @Path = '\\aufs1\clientdata-test\ClientData\testfolder\Taum\'
Set @FileName = 'qi130813.csv'
Set @SQLString = 'select ''' + @Datadate + ''',* from OpenRowset(''MSDASQL'',''Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=' + @Path + ';'',''Select * from ' + @FileName + ''') Where [GG]<>''GE'''
print @SQLStringInsert into signal_TMP([Date],Col01,Col02,Col03,Col04,Col05,Col06,Col07,Col08,Col09,Col10,Col11,Col12,Col13,Col14,Col15,Col16,Col17,Col18,Col19,Col20,
Col21,Col22,Col23)
EXEC(@SQLString)--不能插入表里面,因为列不同.请问怎么插入到表里面?打印语句@SQLString为:
select '20130813',* from OpenRowset('MSDASQL','Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=\\aufs1\clientdata-test\ClientData\testfolder\Taum\;','Select * from qi130813.csv') Where [GG]<>'GE'从文件select 出来的结果全部只有象2,3,6行的15列,第4,5行从15列后的全部没有.
怎么导入一个文件中有不同列到表里