Me manda error al cargar el Grid

17/12/2005 - 21:14 por Daniel H. Villa | Informe spam
Hola Grupo:

Al cargar en un Grid una tabla que contiene mas de 100,000 registros me
manda error el Explorer, no es de programación.

De hecho tarda mucho en cargar en el IE y al final me manda erl siguiente
mensaje:

HTTP 500 - Error interno del servidor
Internet Explorer

Este es el codigo que utilizo:

Public Class Primer

Inherits System.Web.UI.Page

Public Conexion As String = "Initial Catalog=Chispazo;Data
Source=dhvilla\misqlserver;user id=sa"

#Region " Código generado por el Diseñador de Web Forms "

'El Diseñador de Web Forms requiere esta llamada.

<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

End Sub

Protected WithEvents dgPrimer As System.Web.UI.WebControls.DataGrid

Protected WithEvents lblNumReg As System.Web.UI.WebControls.Label

Protected WithEvents optEleccion As
System.Web.UI.WebControls.RadioButtonList

Protected WithEvents txtUno As System.Web.UI.WebControls.TextBox

Protected WithEvents txtDos As System.Web.UI.WebControls.TextBox

Protected WithEvents txtTres As System.Web.UI.WebControls.TextBox

Protected WithEvents txtCuatro As System.Web.UI.WebControls.TextBox

Protected WithEvents txtCinco As System.Web.UI.WebControls.TextBox

Protected WithEvents btnRegresar As System.Web.UI.WebControls.Button

Protected WithEvents btnBuscar As System.Web.UI.WebControls.Button

'NOTA: el Diseñador de Web Forms necesita la siguiente declaración del
marcador de posición.

'No se debe eliminar o mover.

Private designerPlaceholderDeclaration As System.Object

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Init

'CODEGEN: el Diseñador de Web Forms requiere esta llamada de método

'No la modifique con el editor de código.

InitializeComponent()

End Sub

#End Region

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

'Introducir aquí el código de usuario para inicializar la página

If Not Page.IsPostBack = True Then

Dim Conn = New SqlConnection(Conexion)

Dim Cmd = New SqlCommand

Dim Dr As SqlDataReader

Dim sql As String = "Select * FROM Tbl_Primer"

Conn.Open()

Cmd = New SqlCommand(sql, Conn)

Dr = Cmd.ExecuteReader()



Me.dgPrimer.DataSource = Dr

Me.dgPrimer.DataBind()

Dr.Close()

Conn.Close()

End If

End Sub

Quiero informar que si trabajo con tablas de menor registros me cargar sin
problemas.


Salu2 :-)))

(""'·._.·L.I. Daniel Villa·._.·'"")
 

Leer las respuestas

#1 Victor
18/12/2005 - 03:59 | Informe spam
Creo que el problema está en que por defecto el .NET limita a 4megas por
request, esto lo puedes solucionar manipulando el c:\windows\machine.config
en la entrada
<httpRuntime executionTimeout="90" maxRequestLength="4096"
useFullyQualifiedRedirectUrl="false" minFreeThreads="8"
minLocalRequestFreeThreads="4" appRequestQueueLimit="100"/>
puedes ampliar el 4096 por algo superior.

De todas maneras, antes de realizar esta modificación me plantearía si es
realmente necesario, el tema de que tarda claro, con 100,000 registros sólo
faltaría, poco lo podrás evitar, si estos 100,000 registros los estás
presentando en un página destinada al usuario final como parece que es el
caso está claro que no es la solución, deberías ofrecer al usuario la
posibilidad de filtrar de alguna manera, para que obtenga unos resultados
más concretos.


Espero que te sea de ayuda.

Un abrazo.


"Daniel H. Villa" escribió en el mensaje
news:
Hola Grupo:

Al cargar en un Grid una tabla que contiene mas de 100,000 registros me
manda error el Explorer, no es de programación.

De hecho tarda mucho en cargar en el IE y al final me manda erl siguiente
mensaje:

HTTP 500 - Error interno del servidor
Internet Explorer

Este es el codigo que utilizo:

Public Class Primer

Inherits System.Web.UI.Page

Public Conexion As String = "Initial Catalog=Chispazo;Data
Source=dhvilla\misqlserver;user id=sa"

#Region " Código generado por el Diseñador de Web Forms "

'El Diseñador de Web Forms requiere esta llamada.

<System.Diagnostics.DebuggerStepThrough()> Private Sub


InitializeComponent()

End Sub

Protected WithEvents dgPrimer As System.Web.UI.WebControls.DataGrid

Protected WithEvents lblNumReg As System.Web.UI.WebControls.Label

Protected WithEvents optEleccion As
System.Web.UI.WebControls.RadioButtonList

Protected WithEvents txtUno As System.Web.UI.WebControls.TextBox

Protected WithEvents txtDos As System.Web.UI.WebControls.TextBox

Protected WithEvents txtTres As System.Web.UI.WebControls.TextBox

Protected WithEvents txtCuatro As System.Web.UI.WebControls.TextBox

Protected WithEvents txtCinco As System.Web.UI.WebControls.TextBox

Protected WithEvents btnRegresar As System.Web.UI.WebControls.Button

Protected WithEvents btnBuscar As System.Web.UI.WebControls.Button

'NOTA: el Diseñador de Web Forms necesita la siguiente declaración del
marcador de posición.

'No se debe eliminar o mover.

Private designerPlaceholderDeclaration As System.Object

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Init

'CODEGEN: el Diseñador de Web Forms requiere esta llamada de método

'No la modifique con el editor de código.

InitializeComponent()

End Sub

#End Region

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

'Introducir aquí el código de usuario para inicializar la página

If Not Page.IsPostBack = True Then

Dim Conn = New SqlConnection(Conexion)

Dim Cmd = New SqlCommand

Dim Dr As SqlDataReader

Dim sql As String = "Select * FROM Tbl_Primer"

Conn.Open()

Cmd = New SqlCommand(sql, Conn)

Dr = Cmd.ExecuteReader()



Me.dgPrimer.DataSource = Dr

Me.dgPrimer.DataBind()

Dr.Close()

Conn.Close()

End If

End Sub

Quiero informar que si trabajo con tablas de menor registros me cargar sin
problemas.


Salu2 :-)))

(""'·._.·L.I. Daniel Villa·._.·'"")



Preguntas similares