使用文件名参数批量插入 [英] Bulk Insert with filename parameter
本文介绍了使用文件名参数批量插入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要将成千上万个数据文件加载到SQL Server表中。
因此,我编写了一个仅接收一个参数-文件名的存储过程。
但是..以下内容不起作用..编译器抱怨@FileName参数..它只需要纯字符串..如 file.txt。
提前谢谢。
I need to load a couple of thousands of data files into SQL Server table. So I write a stored procedure that receives just one parameter - file name. But.. The following doesn't work.. The "compiler" complains on @FileName parameter.. It wants just plain string.. like 'file.txt'. Thanks in advance.
伊兰。
BULK INSERT TblValues
FROM @FileName
WITH
(
FIELDTERMINATOR =',',
ROWTERMINATOR ='\n'
)
推荐答案
BULK INSERT
[ database_name. [ schema_name ] . | schema_name. ] [ table_name | view_name ]
FROM 'data_file'
[ WITH
因此,文件名必须是字符串常量。
要解决该问题,请使用动态SQL:
So, the file name must be a string constant. To solve the problem please use dynamic SQL:
DECLARE @sql NVARCHAR(4000) = 'BULK INSERT TblValues FROM ''' + @FileName + ''' WITH ( FIELDTERMINATOR ='','', ROWTERMINATOR =''\n'' )';
EXEC(@sql);
这篇关于使用文件名参数批量插入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文