加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 批量插入文件名参数

发布时间:2020-12-12 16:18:42 所属栏目:MsSql教程 来源:网络整理
导读:参见英文答案 How to cast variables in T-SQL for bulk insert?6 我需要将数以万计的数据文件加载到SQL Server表中. 所以我写一个只接收一个参数 – 文件名的存储过程. 但是..以下不起作用.“编译器”抱怨@FileName参数..它只需要简单的字符串..像’file.txt
参见英文答案 > How to cast variables in T-SQL for bulk insert?6
我需要将数以万计的数据文件加载到SQL Server表中.
所以我写一个只接收一个参数 – 文件名的存储过程.
但是..以下不起作用.“编译器”抱怨@FileName参数..它只需要简单的字符串..像’file.txt’.
提前致谢.

宜兰.

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

解决方法

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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读