ASP.NET - ¿session?

 
Vista:

¿session?

Publicado por Barbara (1 intervención) el 22/08/2005 16:17:12
Hola a todos.

Es cierto que ¿con las sessiones o con los caches se disminuyen las preguntas al srvisor?

Lo que pasa es qiue estoy cargando 3 dropdownlist, y lo hago haciendole llamadas a cada uno de las conexiones con distintos oledbcommand; para mi sorpresa cuando fui a ña empresa, la pagina se tardo como 3 horas ¿podra sewr eso?

¿alguna otra idea?

Graciasd de antemano......
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 56
Bronce
Ha mantenido su posición en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

RE:¿session?

Publicado por Yamil Bracho (1136 intervenciones) el 22/08/2005 16:51:28
Estas haciendo tres conexiones por cada OleDbCommand ? Pudieras crear una sola y ejecutar los tres commands usando una sola conexion. Tambien chequea si tienes suficiente ancho de banda, otra cosa que puedes chequear es la memoria en el servidor web ya que ASP.NET requiere bastante memoria. LO minimo creo que es un 1 GB de RAM para un equipo que va a ser un servidor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿session?. Gracias Yamil Por contestar

Publicado por Barbara (1 intervención) el 22/08/2005 17:52:18
Yamil, mira por favor me puedes indicar ¿como hago para abrir una sola vez la conezion y utilizarla para varios oledbcommand? cada vez que lo quyiero hacer me sale un error "que primero tengo que cerrar"

¿Con esa solucion me ahorraria tiempo en ir al servidor?

¿o tengo que utilizar cache, sesion, etc? En caso de ser asi, me podrias enviar unos ejemplos para comenzar, porque los ejemplos de internet son muy engorrosos.....

Estoy super nueva en esto.....

Yamil Gracias por contestar...........
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿session?. Gracias Yamil Por contestar

Publicado por Barbara (48 intervenciones) el 22/08/2005 17:56:59
Yo tengo algo como esto, para que te des cuenta la cantidad de veces que abro la conexion:

Dim tipo As String
Dim empleado_ As String
Dim user As String
user = Request.QueryString("usuario")
Dim cn121 As New OleDbConnection("Provider=SQLOLEDB.1;Initial Catalog=mabe_web;Data Source=servidor2;User Id=lithomedia;password=lithomedia2003;")
cn121.Open()
Dim cmd211 As New OleDbCommand("SELECT TBL_USERS.EMPLEADO,TBL_TPUSER.TIPOUSER,TBL_USERS.ID_USER,TBL_USERS.ID_TIPOUSER FROM TBL_USERS, TBL_TPUSER WHERE TBL_USERS.ID_TIPOUSER = TBL_TPUSER.ID_TIPOUSER AND TBL_USERS.USER_NOMBRE = '" & user & "'", cn121)
Dim dr4 As OleDbDataReader
dr4 = cmd211.ExecuteReader
Do While dr4.Read
tipo = dr4.Item("id_tipouser")
empleado_ = Trim(dr4.Item("empleado"))
Loop
If tipo = 5 Then

Dim cn12 As New OleDbConnection("Provider=SQLOLEDB.1;Initial Catalog=mabe_web;Data Source=servidor2;User Id=lithomedia;password=lithomedia2003;")
cn12.Open()
Dim cmd12 As New OleDbCommand("Select nombre_empleado from tccom001 where empleado='" & empleado_ & "' ", cn12)
Dim dr12 As OleDbDataReader = cmd12.ExecuteReader
dpdven.DataSource = dr12
dpdven.DataTextField = "nombre_empleado"
dpdven.DataBind()
dpdven.Items.Insert(0, "Seleccione")
Dim sql22 As String
Dim cn122 As New OleDbConnection("Provider=SQLOLEDB.1;Initial Catalog=mabe_web;Data Source=servidor2;User Id=lithomedia;password=lithomedia2003;")
cn122.Open()
Dim cmd212 As New OleDbCommand("SELECT * FROM temporalbus1 ", cn122)
sql22 = "delete from temporalbus1"
cmd212.Connection = cn122
cmd212.CommandText = sql22
cmd212.ExecuteNonQuery()

'fech_sol.Text = Now.Today
Dim cn11 As New OleDbConnection("Provider=SQLOLEDB.1;Initial Catalog=mabe_web;Data Source=servidor2;User Id=lithomedia;password=lithomedia2003;")
cn11.Open()
Dim cmd11 As New OleDbCommand("Select * from tbl_accesorios_faltantes", cn11)
Dim dr11 As OleDbDataReader = cmd11.ExecuteReader

Dim cn2 As New OleDbConnection("Provider=SQLOLEDB.1;Initial Catalog=mabe_web;Data Source=servidor2;User Id=lithomedia;password=lithomedia2003;")
cn2.Open()
Dim cmd2 As New OleDbCommand("Select desc_obj from tscfg010", cn2)
Dim dr2 As OleDbDataReader = cmd2.ExecuteReader
dpdart.DataSource = dr2
dpdart.DataTextField = "desc_obj"
dpdart.DataBind()
dpdart.Items.Insert(0, "Seleccione")

End If
If tipo = 1 Then
Dim cn12 As New OleDbConnection("Provider=SQLOLEDB.1;Initial Catalog=mabe_web;Data Source=servidor2;User Id=lithomedia;password=lithomedia2003;")
cn12.Open()
Dim cmd12 As New OleDbCommand("Select tccom001.nombre_empleado from tccom001, tbl_vendedor where tccom001.empleado=tbl_vendedor.cod_vendedor ", cn12)
Dim dr12 As OleDbDataReader = cmd12.ExecuteReader
dpdven.DataSource = dr12
dpdven.DataTextField = "nombre_empleado"
dpdven.DataBind()
dpdven.Items.Insert(0, "Seleccione")
Dim sql22 As String
Dim cn122 As New OleDbConnection("Provider=SQLOLEDB.1;Initial Catalog=mabe_web;Data Source=servidor2;User Id=lithomedia;password=lithomedia2003;")
cn122.Open()
Dim cmd212 As New OleDbCommand("SELECT * FROM temporalbus1 ", cn122)
sql22 = "delete from temporalbus1"
cmd212.Connection = cn122
cmd212.CommandText = sql22
cmd212.ExecuteNonQuery()

fech_sol.Text = Now
Dim cn11 As New OleDbConnection("Provider=SQLOLEDB.1;Initial Catalog=mabe_web;Data Source=servidor2;User Id=lithomedia;password=lithomedia2003;")
cn11.Open()
Dim cmd11 As New OleDbCommand("Select * from tbl_accesorios_faltantes", cn11)
Dim dr11 As OleDbDataReader = cmd11.ExecuteReader
Dim cn2 As New OleDbConnection("Provider=SQLOLEDB.1;Initial Catalog=mabe_web;Data Source=servidor2;User Id=lithomedia;password=lithomedia2003;")
cn2.Open()
Dim cmd2 As New OleDbCommand("Select desc_obj from tscfg010", cn2)
Dim dr2 As OleDbDataReader = cmd2.ExecuteReader
dpdart.DataSource = dr2
dpdart.DataTextField = "desc_obj"
dpdart.DataBind()
dpdart.Items.Insert(0, "Seleccione")

End If

Si coloco una conexion a dos oledbcommands aparece el siguiente error:

"There is already an open DataReader associated with this Connection which must be closed first. "

Yamil me entra un alivio que alguien sepa como hacer eso

Gracias

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

POR FAVOR AYUDENME

Publicado por barbara (48 intervenciones) el 22/08/2005 23:13:47
Como hago para abrir una sola conexion para varios oledbcommands

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 56
Bronce
Ha mantenido su posición en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

RE:¿session?. Gracias Yamil Por contestar

Publicado por Yamil Bracho (1136 intervenciones) el 22/08/2005 23:13:55
El problema es que cuando usas un DataReader debes usar una unica conexion antes de abrir otro. En tu caso como estas llenando varios controles usa una DataSet que creo es mas conveniete en tu caso
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿session?. Gracias Yamil Por contestar

Publicado por Miguel<VR> (1 intervención) el 26/08/2005 19:08:40
¿(o.O)?

usa esto pon lo en una funcion
DONde pCbo parametro, y Cnx la cadena de conexion
Dim oAdap As SqlDataAdapter
Dim oConex As New SqlConnection(Cnx)
Dim oDt As New DataTable
Dim xS As String
Dim i As Integer
xS = "Select * From " & pTabla & " " & pFiltro & ";"
oAdap = New SqlDataAdapter(xS, oConex)
oAdap.Fill(oDt)
pCbo.DataSource = oDt
pCbo.DataValueField = pId
pCbo.DataTextField = pNom
pCbo.DataBind()
pCbo.Items.Insert(0, "")
pCbo.SelectedIndex = 0
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar