aspx网页提交数据到SQL server数据库执行存储程序超时

问题描述

aspx网页提交数据到SQL server数据库执行存储程序超时
网页提交数据到数据库,用giridview显示数据,查询的数据源数据库特别大,查询时间较长,最后反馈页面是服务超时,怎么解决?
protected void Button1_Click(object sender EventArgs e)
{
string connstr = ConfigurationManager.ConnectionStrings[""connstr""].ConnectionString;
SqlConnection myConn = new SqlConnection(connstr);
myConn.Open();
{
if (myConn.State == ConnectionState.Open)
{
SqlCommand comm = new SqlCommand();

            comm.Connection = myConn;            //comm.CommandTimeout = 120;            comm.CommandType = CommandType.StoredProcedure;            comm.CommandText = ""SearchTitle"";            SqlParameter Title = new SqlParameter(""@Title"" SqlDbType.Char 128);            Title.Value = TextBox1.Text;            comm.Parameters.Add(Title);            SqlDataAdapter da = new SqlDataAdapter(comm);            DataTable dt = new DataTable();            da.Fill(dt);            GridView1.DataSource = dt;            GridView1.DataBind();        }    }    myConn.Close();}    这是后台代码    以下是存储程序:    IF object_id('temp0..TitleSearch')   is   not   null          BEGIN     delete from temp0.dbo.TitleSearch    END  

declare @DatabaseNameNum varchar(256)
declare @x int
set @x=1
while(@x<12)
begin
set @DatabaseNameNum = 'QunInfo'+cast(@x as varchar)
set @x=@x+1
print @DatabaseNameNum
--end
--循环查询QunInfo1至QunInfo11数据库

declare @sql2 varchar(max)declare @i int=0IF object_id('temp0..temp0_test')   is   not   null          BEGIN         DROP TABLE temp0..temp0_test        create table temp0..temp0_test(id int identity(11)name nvarchar(1000))    END      --declare @tb table(id int identity(11)name nvarchar(1000)) set @i = 1 set @sql2='         insert into temp0..temp0_test(name)        select t.name        from @DatabaseNameNum.sys.tables t        where t.name like ''Q%''     ' set @sql2=REPLACE(@sql2'@DatabaseNameNum'@DatabaseNameNum)--变量替换 print @sql2 exec(@sql2)

--查询以Q开头的所有表

declare @sql1 varchar(max)declare @tb_name nvarchar(100) while @i <= cast((select COUNT(*) from temp0..temp0_test) as int)begin    select @tb_name = @DatabaseNameNum +'.dbo.'+ name from temp0..temp0_test where id = @i ;    --SET IDENTITY_INSERT ON    --SET IDENTITY_INSERT OFF    set @sql1='insert into Title([QunNum]                                       [MastQQ]                                       [CreateDate]                                       [Title]                                       [Class]                                       [QunText]  )      select [QunNum]            [MastQQ]            [CreateDate]            [Title]            [Class]            [QunText]      from @tb_name with(index(keywords))where Title like ''%@Title%''                '            set @sql1=REPLACE(@sql1'@tb_name'@tb_name)     set @sql1=REPLACE(@sql1'@Title'@Title)     exec(@sql1)     print @sql1     set @i = @i + 1end

--将检索到的数据插入到新表

end
select * from Title

解决方案

分页显示,一次显示几十条。

解决方案二:
具体问题具体分析,如果是远程服务器,看看是不是线路故障、服务器故障……
如果是本地,看看是不是配置问题……

解决方案三:
要分页,一次处理数据不要太多。

解决方案四:
写存储过程或者你写的sql语句需要优化一下;

解决方案五:
主要就是数据库查询优化,或者降低存储过程做的事,把数据简单返回,由客户端处理,减少存储过程做的工作。

解决方案六:
把你查询语句 写出来

时间: 2024-12-02 02:24:00

aspx网页提交数据到SQL server数据库执行存储程序超时的相关文章

极限挑战—C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码)

原文:极限挑战-C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码)     实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计算,本实验将使用5中方法完成这个过程,并详细记录各种方法所耗费的时间.     本实验中所用到工具为VS2008和SQL SERVER 2000.SQL SERVER 2008,分别使用5中方法将100万条数据导入SQL 2000与SQL 2008中,实验环境是DELL 2850双2.0GCPU,2G内存的服务器.感兴趣的朋友可以下载源代码自己

请问一下asp.net mvc3怎么实现将上传的excel表格的数据导入sql server数据库?

问题描述 请问一下asp.net mvc3怎么实现将上传的excel表格的数据导入sql server数据库? 现在有一个项目,是要求用户上传一个excel文件,系统后台实现将上传的数据写到数据库相应的表中~请大声多多指教 解决方案 asp.net:上传excel表格到SQL Server数据库asp.net 将EXCEL表格数据导入到SQL Server数据库asp.net中Excel导入sql server数据库---------------------- 解决方案二: 这问题太简单了...

将DataTable 数据插入 SQL SERVER 数据库

原文:将DataTable 数据插入 SQL SERVER 数据库 以下提供3中方式将DataTable中的数据插入到SQL SERVER 数据库: 一:使用sqlcommand.executenonquery()方法插入 foreach (DataRow datarow in datatable.Rows) { string sql = "INSERT INTO [Table_1] ([CompanyName],[CompanyCode],[Address],[Owner],[Memo])&q

对于超大型SQL SERVER数据库执行DBCC操作

原文:对于超大型SQL SERVER数据库执行DBCC操作对于数据库维护,主要使用DBCC CHECKDB来实现,以下是对大型数据库的使用说明,小型数据库一般直接使用就可以了: 1.2008(2005我不确认)已经实现了快照检查,也就是当你执行DBCC时,DBMS会先快照出一个数据库,然后在快照上执行检查,这样对原来的库不造成锁的影响. 2.使用Physical_only选项,可以以较少的开销检查数据库的物理一致性.并且能检查出会危及用户数据安全的残缺页.校验和错误及常见的硬件故障.所以对于频繁

Excel表数据导入Sql Server数据库中两种办法

方法一,程序导入 C#.ASP.NET中将Excel表中的数据导入到Sql Server数据库中对应的表中. 这里我们将E:\test.xls中Sheet1表中的数据导入到test数据库中的my_test表中. 软件:VS2005,SQL Server2000, test.xls中Sheet1表中有三个字段,编号.名称.备注.具体内容如下图. 1.首先,我们要先在test数据库中新建一个my_test表,该表具有三个字段 tid int类型, tname nvarchar类型, tt nvarc

谈谈数据从sql server数据库导入mysql数据库的体验(原创)

mysql|server|数据|数据库|原创 因工作需要,要将存放在sql server数据库中的数据全部导入到mysql数据库中,在网上搜集相关资料,找到两种方法,现在分别谈谈对他们的看法. 第一种是安装mysql ODBC,利用sql server的导出功能,选择mysql数据源,进行数据的直接导出,这种方法很简便,但是针对实际应用有很多弊端,最主要体现就是数据类型问题,首先,sql server数据库中的ntext,image等数据类型的数据无法直接写入到mysql数据库中,据说只要稍加改

C# WPF怎么把数据存到sql server数据库里

问题描述 想要把得到的fx值(此值已正确得到)存到数据库中T_Result表的原材料列中,编译没有错误,但数据库里总是空的,fx值总存不进去是怎么回事呢?代码如下:stringconnstr="DataSource=.;InitialCatalog=计算用原料数据表;IntegratedSecurity=SSPI";SqlConnectionsqlcnn=newSqlConnection(connstr);sqlcnn.Open();SqlCommandcommand=newSqlCo

C# Excel 数据导入sql server 数据库出错。请帮忙

问题描述 publicpartialclassInputExcelData:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){}protectedvoidbtnInputData_Click(objectsender,EventArgse){///读取数据,并显示在GridView控件中gvData.DataSource=InputExcelFile(fuFile.PostedFile.FileName);gvD

读取一个txt档,然后将数据插入sql server,执行的时候报内存溢出,有时候提示连接已关闭

问题描述 用的是批插的方式sqlBC.WriteToServer(dt);之前数据量不是太大,三四十万笔,速度还行,三四十秒现在数据量变得很大,txt档150M左右,数据近100W,//事务处理插入数据库中publicvoidExesql(){//调用方法TxtFileToStr()stringstr=TxtFileToStr();string[]sql=str.Split(',');//得到string数组intnum=sql.Length-1;一次事务处理直接内存溢出,请问如何分批处理呢?求