【发布时间】:2018-03-06 21:22:19
【问题描述】:
我有需要使用 win 表单应用程序加载到 db 的文件 为此,我正在创建批量加载字符串 C# 代码
private void bt_loadInToTable_Click(object sender, EventArgs e)
{
bulkinsert = " BULK INSERT " + tableName + " FROM " + filePath +
" WITH (FIRSTROW = 2, FIELDTERMINATOR = '','', ROWTERMINATOR = ''\n'',BATCHSIZE = 1000, CHECK_CONSTRAINTS = ON , ERRORFILE = '" + tableName + "file_name.txt' )";
using (SqlConnection thisConnectionT = new SqlConnection("Server=" + serverName + ";User Id=" + uName + ";Password=" + pass + ";Database=" + dbName + ";"))
{
thisConnectionT.Open();
new SqlCommand(bulkinsert, thisConnectionT);
// bulkinsert.ExecuteNonQuery();
}
}
但是我想我说它有些错误,因为它没有加载,但没有抛出错误
电话应该是exec sp_executesql bulkinsert。
这个 C# 代码应该替换这个正在运行的 SQL 代码
DECLARE @bulkinsert NVARCHAR(2000)
set @bulkinsert = 'BULK INSERT ForTest FROM ''D:\\forBulk\\fortest.csv'' WITH (FIRSTROW = 2, FIELDTERMINATOR = '','', ROWTERMINATOR = ''\n'',BATCHSIZE = 1000 )'
EXEC sp_executesql @bulkinsert
如果我是从 sql 端运行它的插入记录,但不是从 C# 运行
对不起,这可能是一个愚蠢的问题,但我是数据库开发人员
【问题讨论】:
-
在 C# 中打印 bulkinsert 字符串,复制到 SQL 编辑器中并尝试运行。有什么问题吗?
-
@nbot 是的 ts 工作,但从应用程序没有
标签: c# sql-server load sp-executesql