Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.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
Asp.net 运行sql脚本时VB.NET中出现超时错误_Asp.net_Sql_Vb.net_Sql Server 2008 - Fatal编程技术网

Asp.net 运行sql脚本时VB.NET中出现超时错误

Asp.net 运行sql脚本时VB.NET中出现超时错误,asp.net,sql,vb.net,sql-server-2008,Asp.net,Sql,Vb.net,Sql Server 2008,有人能帮忙吗?我试图通过连接到服务器并使用存储过程在VisualStudio中创建网格视图。当我测试它时,我得到一个超时错误。有人能告诉我我能做什么吗?查询本身大约需要7分钟才能完成。数据存储在一个表中。如何延长超时时间 这是我的连接脚本: <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default2.aspx.vb" Inherits="Default2" %> <!DOCTYPE html PUBLIC

有人能帮忙吗?我试图通过连接到服务器并使用存储过程在VisualStudio中创建网格视图。当我测试它时,我得到一个超时错误。有人能告诉我我能做什么吗?查询本身大约需要7分钟才能完成。数据存储在一个表中。如何延长超时时间

这是我的连接脚本:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default2.aspx.vb" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>SQL-EDD 4 SERVER</title>
</head>
<body>
   <asp:GridView ID="GridView1" DataSourceID="SqlDataSource1" AutoGenerateColumns="False"
      runat="server">
      <Columns>
        <asp:BoundField DataField="DBNAME" HeaderText="DBNAME" SortExpression="DBNAME" />
        <asp:BoundField DataField="IMGS" HeaderText="IMGS" ReadOnly="True" 
              SortExpression="IMGS" />
          <asp:BoundField DataField="IMG_DATE_UPLOAD" HeaderText="IMG_DATE_UPLOAD" 
              ReadOnly="True" SortExpression="IMG_DATE_UPLOAD" />
      </Columns>
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" SelectCommand="IMGCTR"
      ConnectionString="<%$ ConnectionStrings:JEFFREYEDD4 %>" 
        SelectCommandType="StoredProcedure" />


    <form id="form1" runat="server">
    <div>

    </div>
    </form>
</body>
</html>
错误如下:

“/lawsqlreporting”应用程序中出现服务器错误。 超时已过期。操作完成前已过超时时间,或者服务器没有响应。 声明已终止。 描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源

异常详细信息:System.Data.SqlClient.SqlException:超时已过期。操作完成前已过超时时间,或者服务器没有响应。 声明已终止

源错误:

在执行当前web请求期间生成了未经处理的异常。有关异常的起源和位置的信息可以使用下面的异常堆栈跟踪来识别

堆栈跟踪:

[SqlException(0x80131904):超时已过期。操作完成前已过超时时间,或者服务器没有响应。 该声明已终止。] System.Data.SqlClient.SqlConnection.OnError(SqlException异常,布尔breakConnection)+1951450 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException异常,布尔breakConnection)+4849003 System.Data.SqlClient.TdsParser.throweexception和warning(TdsParserStateObject stateObj)+194 System.Data.SqlClient.TdsParser.Run(RunBehavior RunBehavior,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj)+2394 System.Data.SqlClient.SqlDataReader.ConsumerMetadata()+33 System.Data.SqlClient.SqlDataReader.get_MetaData()+83 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds、RunBehavior、String ResetOptionString)+297 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,RunBehavior RunBehavior,Boolean returnStream,Boolean async)+954 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior、RunBehavior RunBehavior、Boolean returnStream、String方法、DbAsyncResult结果)+162 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior RunBehavior,Boolean returnStream,String方法)+32 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior,String方法)+141 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior)+12 System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior)+10 System.Data.Common.DbDataAdapter.FillInternal(数据集数据集,数据表[]数据表,Int32 StartRecords,Int32 maxRecords,字符串srcTable,IDbCommand命令,CommandBehavior)+130 System.Data.Common.DbDataAdapter.Fill(数据集数据集、Int32 startRecord、Int32 maxRecords、字符串srcTable、IDbCommand命令、CommandBehavior行为)+287 System.Data.Common.DbDataAdapter.Fill(数据集数据集,字符串srcTable)+92 System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments)+1297 System.Web.UI.DataSourceView.Select(DataSourceSelectArguments参数,DataSourceViewSelectCallback参数)+19 System.Web.UI.WebControls.DataBoundControl.PerformSelect()+142 System.Web.UI.WebControls.BaseDataBoundControl.DataBind()+73 System.Web.UI.WebControls.GridView.DataBind()+4 System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound()+82 System.Web.UI.WebControl.CompositeDataBoundControl.CreateChildControls()+72 System.Web.UI.Control.ensureChildControl()+87 System.Web.UI.Control.PreRenderRecursiveInternal()+44 System.Web.UI.Control.PreRenderRecursiveInternal()+171 System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)+842



版本信息:Microsoft.NET Framework版本:2.0.50727.4952;ASP.NET版本:2.0.50727.4955首先-延长超时时间不是解决方案。不过,以下是如何使用数据源:

protected void SqlDataSource1_Selecting(object sender,
SqlDataSourceSelectingEventArgs e)
{
e.Command.CommandTimeout = 30;
} 
以下是您应该执行的分析:

第一:当存储过程在页面上下文之外执行时(例如在查询窗口中),它的执行是否令人满意?如果不是,问题在于查询。谷歌“优化sql查询”,你会得到很多好东西


如果是,那么应用程序中的其他查询将如何执行(假设这不是您尝试使用的第一个查询)?如果它们工作正常,请仔细检查您使用的连接字符串是否相同。

首先,延长超时时间不是解决方案。不过,以下是如何使用数据源:

protected void SqlDataSource1_Selecting(object sender,
SqlDataSourceSelectingEventArgs e)
{
e.Command.CommandTimeout = 30;
} 
以下是您应该执行的分析:

第一:当存储过程在页面上下文之外执行时(例如在查询窗口中),它的执行是否令人满意?如果不是,问题在于查询。谷歌“优化sql查询”,你会得到很多好东西


如果是,那么应用程序中的其他查询将如何执行(假设这不是您尝试使用的第一个查询)?如果它们工作正常,请仔细检查您使用的连接字符串是否相同。

为了增加超时时间,您可以增加获取数据的DataCommand的CommandTimeout。使用SqlDataSource时,可以使用事件处理程序获取命令。 在页面的后面插入以下代码:

Private Sub SqlDataSource1_Selecting(sender as object, _
   e as SqlDataSourceSelectingEventArgs) handles SqlDataSource1.Selecting

   e.Command.CommandTimeout = 500 
End Sub
为了增加web应用程序
<httpRuntime
   executionTimeout = "600" 
/>
CREATE Table #TableNames (DBNameID INT Not NUll Identity, DBName VarCHAR(50))

CREATE TABLE #TableResults (DBNAME NVARCHAR(MAX),  IMG_DATE_UPLOAD DATETIME,  IMG_UPLOAD_COUNT INT)

Insert Into #TableNames(DBName)
SELECT [NAME] FROM sys.databases 
WHERE [name] like 'z%' and [name] not like 'Z1301_TEVA_SINGLE' 
AND [NAME] NOT LIKE 'Z1016_E-100016R' 
AND CREATE_DATE BETWEEN GETDATE()-30 AND GETDATE() ORDER BY [Name]

DECLARE @Counter INT = 1;
DECLARE @DBName VARCHAR(MAX)
DECLARE @varSQL NVARCHAR(MAX)
Declare @rows INT;
select @rows = COUNT(DBNameID) from #TableNames


While @Counter <= @rows BEGIN
    SET @DBName = (SELECT DBName from #TableNames where DBNameID = @Counter)

    Set @varSQL='INSERT INTO #TableResults (DBNAME, IMG_UPLOAD_COUNT, IMG_DATE_UPLOAD)      
SELECT ''['+@DBNAME+']'' AS DBNAME, SUM(PGCOUNT) AS IMAGES, convert(NVARCHAR(10), CREATED, 101) AS CREATED
FROM ['+@DBNAME+'].dbo.tbldoc WHERE CREATED BETWEEN ''2011-01-16'' AND ''2011-01-22'' AND PGCOUNT >0 GROUP BY CREATED          
HAVING SUM(PGCOUNT) IS NOT NULL' 

SET @Counter += 1
END

INSERT #TableResults (DBNAME, IMG_UPLOAD_COUNT)       
SELECT 'TOTAL_IMGSIZE_IN_MBS', SUM(IMG_UPLOAD_COUNT) 
FROM #TableResults       

SELECT  DBNAME, SUM(IMG_UPLOAD_COUNT) AS IMGS, convert(NVARCHAR(10), IMG_DATE_UPLOAD, 101) AS IMG_DATE_UPLOAD 
FROM #TableResults where IMG_UPLOAD_COUNT > 0     
GROUP BY DBNAME, IMG_DATE_UPLOAD     
ORDER BY IMG_DATE_UPLOAD

DROP TABLE #TableNames
DROP TABLE #TableResults