File upload 文件上传和批量复制
我有一个纯文本文件,其中包含一列数字,在web客户端中获取数字并将其传输到SQL数据库中。检索文件后,我将内容存储在临时数据表中,然后使用SqlBulkCopy尝试将数据表传输到数据库。但是,一旦我运行web客户端并导入文件,程序就会挂起。下面列出了我到目前为止所做的工作的代码 将文件传输到数据表File upload 文件上传和批量复制,file-upload,sqlbulkcopy,File Upload,Sqlbulkcopy,我有一个纯文本文件,其中包含一列数字,在web客户端中获取数字并将其传输到SQL数据库中。检索文件后,我将内容存储在临时数据表中,然后使用SqlBulkCopy尝试将数据表传输到数据库。但是,一旦我运行web客户端并导入文件,程序就会挂起。下面列出了我到目前为止所做的工作的代码 将文件传输到数据表 private DataTable readTextFile() { DataTable dt = new DataTable(); FileUpload fi
private DataTable readTextFile()
{
DataTable dt = new DataTable();
FileUpload file = new FileUpload();
dt.Columns.Add("Claim Number", typeof(Int32));
file = (FileUpload)grdCriteria.FindControl("exportUpload");
StreamReader read = new StreamReader(file.PostedFile.FileName);
while ((read.ReadLine()) != null)
dt.Rows.Add((Int32.Parse(read.ReadLine())));
return dt;
}
将DataTable插入SQL数据库
DataTable dt = readTextFile();
SqlBulkCopy bk = new SqlBulkCopy(Profile.ConnectionKey.CAM);
bk.DestinationTableName = dt.TableName;
bk.WriteToServer(dt);
谢谢 你的意思是在循环中调用ReadLine两次吗?或者您的意思是执行以下操作:while(true){string line=read.ReadLine();if(line!=null){dt.Rows.Add(int.Parse(line));}else{break;}程序挂起在哪里?您是否尝试调试程序?文件有多大?可能是因为文件太大,读取或将其推送到服务器需要很多时间?您没有设置TableName值,因此数据库加载程序将不知道将数据放入哪个表中。此外,您只读取每秒钟的值,因为在每个循环迭代中调用ReadLine()两次。