定义BULK INSERT参数时出现语法错误
本文关键字:语法 错误 BULK INSERT 参数 定义 | 更新日期: 2023-09-27 18:06:27
在以下c#代码中:
string filePath = @"C:'Users'Me'Documents'note.txt"
var SqlSaveCommand = new SqlCommand(@"BULK INSERT table FROM @filepath", con);
SqlSaveCommand.Parameters.Add(new SqlParameter("@filepath", filePath));
在执行sql命令时,我在@filepath
附近得到语法错误。
然而,下面的操作可以正常工作:
BULK INSERT proxylist FROM 'C:'Users'Me'Documents'note.txt'
我在指定@filepath
参数时做错了什么?
不能参数化BULK INSERT
的路径。如果输入
BULK INSERT dbo.tablename FROM @wherever...
通常你还需要一些WITH
选项,例如指定ROWTERMINATOR, FIELDTERMINATOR
等。
为什么不在你的程序中构建整个命令呢?
string filePath = @"C:'Users'Me'Documents'note.txt"
string cmd = @"BULK INSERT proxylist FROM '" + @filepath + "';";
var SqlSaveCommand = new SqlCommand(cmd, con);