我有一个查询从服务器一次获取 200,000条记录,包含74列,然后我必须将它们插入我的客户端计算机上的表。如果没有在ASP.Net中出现“内存不足”错误(使用C#和SQL Server 2005数据库),最好的方法是什么。
答案 0 :(得分:1)
您可以使用DataReader并使用适当的批量大小将其作为输入传递给SqlBulkCopy。
答案 1 :(得分:-1)
public int Saving(int s)
{
SqlCommand cmd = new SqlCommand();
using (SqlConnection cn = new SqlConnection(classname.ConnectionString)){
cn.Open();
SqlTransaction trans;
trans = cn.BeginTransaction();
try{
cmd = new SqlCommand("Storedprocedurename", cn, trans);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@spparameter", SqlDbType.Int).Value = s;
int DataResult =Convert.ToInt32(cmd.ExecuteScalar());
if (DataResult != 0)
{
trans.Commit();
return DataResult;
}
else
{
trans.Rollback();
return -1;
}
}
catch (Exception ex)
{
string msg = ex.Message;
trans.Rollback();
trans.Dispose();
return 0;
}
}