Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用ASP.Net在SQL Server中一次保存数十万条记录_C#_Asp.net_Sql Server_Memory Management - Fatal编程技术网

C# 使用ASP.Net在SQL Server中一次保存数十万条记录

C# 使用ASP.Net在SQL Server中一次保存数十万条记录,c#,asp.net,sql-server,memory-management,C#,Asp.net,Sql Server,Memory Management,我有一个查询,一次从服务器获取200000条记录,其中包含74列,然后我必须将它们插入到客户机上的表中。在ASP.Net(使用C和SQL Server 2005数据库)中不出现“内存不足”错误的最佳方法是什么?您可以使用DataReader并使用适当的batchsize将其作为输入传递给SqlBulkCopy。您可以使用DataReader并使用适当的batchsize将其作为输入传递给SqlBulkCopy。在Class.cs中 在课堂上 10万卢比=10万卢比(印度单位)?这里不是每个人都能

我有一个查询,一次从服务器获取200000条记录,其中包含74列,然后我必须将它们插入到客户机上的表中。在ASP.Net(使用C和SQL Server 2005数据库)中不出现“内存不足”错误的最佳方法是什么?

您可以使用DataReader并使用适当的batchsize将其作为输入传递给SqlBulkCopy。

您可以使用DataReader并使用适当的batchsize将其作为输入传递给SqlBulkCopy。

在Class.cs中 在课堂上
10万卢比=10万卢比(印度单位)?这里不是每个人都能熟练地使用全局测量单位,你知道……200000条记录x 74列(比如512字节,不确定有多少字符串)=100MB的存储空间,仅用于数据,不包括对象开销。除非您试图同时运行多个实例,否则您的服务器应该能够很好地处理100MB。为什么会出现内存不足错误?对于此数据库加载任务,首先为什么要使用ASP.NET?似乎使用了错误的技术。10万(印度单位)?这里不是每个人都能熟练地使用全局测量单位,你知道……200000条记录x 74列(比如512字节,不确定有多少字符串)=100MB的存储空间,仅用于数据,不包括对象开销。除非您试图同时运行多个实例,否则您的服务器应该能够很好地处理100MB。为什么会出现内存不足错误?对于此数据库加载任务,首先为什么要使用ASP.NET?这似乎是错误的技术使用。
 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;
   }
}