读书人

用存储过程导入无表头CSV资料总提示

发布时间: 2013-09-25 11:02:58 作者: rapoo

用存储过程导入无表头CSV文件,总提示“在通过 OPENQUERY 和 OPENROWSET 获得的结果集中不允许有重复的列名。”
怎么让他从第一行就开始导入数据,不用去判断第一行(表头)
这是我的:

ALTER PROCEDURE [dbo].[Import]

@FilePath NVARCHAR(200), --eg:'D:\\DATAExchange\\CSVTMP'

@FileName NVARCHAR(100) --eg:'ExportFileOne.csv'

AS

BEGIN

DECLARE @ImpSQLstr NVARCHAR(600)

SET @ImpSQLstr='INSERT INTO TempTable (DataDate,Dataopen,DataHigh,DataLow,DataClose,DataVolume,DataOpenInt)
SELECT * FROM OPENROWSET(''MSDASQL'', '' Driver={Microsoft Text Driver (*.txt; *.csv)};

DEFAULTDIR='+@FilePath+'; Extensions=CSV;'',''SELECT * FROM "'+@FileName+'" '')'

Exec (@ImpSQLstr)

SELECT @@ROWCOUNT

END

[解决办法]
没有深入研究过,帮顶

读书人网 >SQL Server

热点推荐