读书人

C#调用SQL存储过程批量导入CSV资料方法

发布时间: 2013-09-17 13:35:59 作者: rapoo

C#调用SQL存储过程批量导入CSV文件方法
因为要往数据库每天导入十多个CSV文件数据,了解到触存储过程速度较快灵活,在网上搜了一个模板如下:

CREATE PROCEDURE [dbo].[ImportFile]

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

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

@TableName NVARCHAR(100) --eg: 'MSSQLExportFileTableOne'

AS

BEGIN

DECLARE @DelSQLstr NVARCHAR(600)

DECLARE @ImpSQLstr NVARCHAR(600)

-- Clear the Content of the Destination Table

--SET @DelSQLstr='DELETE FROM ' +@TableName

--Exec sp_executesql @DelSQLstr

-- Import csv Data Into the Destination Table

SET @ImpSQLstr='INSERT INTO ' + @TableName +
' SELECT * FROM OPENROWSET(''MSDASQL'', '' Driver={Microsoft Text Driver (*.txt; *.csv)};

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

Exec sp_executesql @ImpSQLstr

SELECT @@ROWCOUNT

END


现在存储过程建好了,在C#中应该怎么去使用它?这个存储过程可以用吗?
比如: abc_20130916.csv 文件存入表 abc ,路径:D:\data 存储过程 数据导入
[解决办法]
http://www.cnblogs.com/YoursLan/archive/2010/10/18/1853940.html

读书人网 >C#

热点推荐