首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用filename参数进行大容量插入

使用filename参数进行大容量插入
EN

Stack Overflow用户
提问于 2011-09-05 18:15:16
回答 1查看 48.4K关注 0票数 27

我需要将几千个数据文件加载到SQL Server表中。所以我编写了一个存储过程,它只接收一个参数--文件名。但是..。下面的代码不起作用。“编译器”对@FileName参数报错。它只需要普通的字符串..比如'file.txt‘。提前谢谢。

伊兰。

BULK INSERT TblValues
FROM @FileName
WITH 
(
FIELDTERMINATOR =',',
ROWTERMINATOR ='\n'
)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-05 18:27:24

The syntax for BULK INSERT statement是:

BULK INSERT 
   [ database_name. [ schema_name ] . | schema_name. ] [ table_name | view_name ] 
      FROM 'data_file' 
     [ WITH 

因此,文件名必须是字符串常量。要解决此问题,请使用动态SQL:

DECLARE @sql NVARCHAR(4000) = 'BULK INSERT TblValues FROM ''' + @FileName + ''' WITH ( FIELDTERMINATOR ='','', ROWTERMINATOR =''\n'' )';
EXEC(@sql);
票数 43
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7306616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档