首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

2013-09-17 
C#调用SQL存储过程批量导入CSV文件方法因为要往数据库每天导入十多个CSV文件数据,了解到触存储过程速度较

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

热点排行