Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema Oracle + .Net aplicación web

Estas en el tema de Problema Oracle + .Net aplicación web en el foro de .NET en Foros del Web. Buenas a todos! Lo primero, ¿qué tal? bueno, os dejo este mensaje porque tengo un problemilla con una aplicación web de VS2005.net que me está ...
  #1 (permalink)  
Antiguo 27/02/2009, 04:42
 
Fecha de Ingreso: febrero-2009
Mensajes: 4
Antigüedad: 15 años, 2 meses
Puntos: 0
Pregunta Problema Oracle + .Net aplicación web

Buenas a todos!
Lo primero, ¿qué tal? bueno, os dejo este mensaje porque tengo un problemilla con una aplicación web de VS2005.net que me está volviendo loco y no sé por donde atajar el problema.
Os cuento...
Tengo una aplicación web programada en vb.net 2005 que ataca a una BBDD de Oracle 9, hasta ahí bien, me he creado mi servicio web para conectar, etc... ejecuto la aplicación desde VS y todo perfecto, ni un fallo, el problema viene cuando la subo al servidor (Windows Server 2003) con IIS6, la configuro, la subo, voy a ejecutar y bien hasta que va a recoger datos de la base de datos con la función que os detallo más adelante y... meeecccc, error!!!:
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

La función es la siguiente:

Cita:

Protected Sub cmdAceptar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdAceptar.Click
' Valida que haya introducido el DNI
If txtDNI.Text = "" Then

Response.Write(pfs_MessageBox(1, "Ha de introducir un DNI válido"))

Else

'Valida que el DNI es válido
Dim drOra As OracleDataReader
Dim dsDatos As DataSet = New DataSet()
Dim sQuery As String
sQuery = "SELECT * FROM CIUDADANOS WHERE DNI='" & UCase(txtDNI.Text) & "'"

drOra = pfs_RecuperarRegistros(sQuery, dsDatos)

If drOra.HasRows Then

Session("sDNI") = UCase(txtDNI.Text)
Session("sIDCiudadano") = drOra.Item("ID")
' Hay que redirigir a la página de datos básicos
If Session("sURL") = "" Then
Session("sURL") = "~/emprendedores/datosbasicos.aspx"
End If

Response.Redirect(Session("sURL"))

Else
' Redirige a la pantalla de datos básicos de emprendedores con el DNI introducido
' para que el usuario lo dé de alta
Response.Redirect("~/emprendedores/datosbasicos.aspx?dni=" & UCase(txtDNI.Text))

End If

End If

End Sub

Esa es una, y la otra para recoger los datos es la siguiente:

Public Function pfs_RecuperarRegistros(ByVal sQuery As String, ByRef dsDatos As DataSet) As OracleDataReader

Dim Conn As OracleConnection
Dim dr As OracleDataReader
Dim cmd As New OracleCommand

'Cadena de conexion a la base de datos
Conn = New OracleConnection("Data Source=OEMALCOB.DATA.ES;Persist Security Info=True;User ID=SA;Password=SA;Unicode=True")
cmd.CommandType = CommandType.Text
cmd.CommandText = sQuery
cmd.Connection = Conn

Try
' Abrimos la conexión a la bbdd
Conn.Open()
dr = cmd.ExecuteReader()
dr.Read()
Return dr

Catch ex As Exception

Response.Write(pfs_MessageBox(1, ex.Message.ToString()))

End Try

End Function

¿Alguien tiene idea de cómo solucionar esa excepción en tiempo de ejecución en el servidor o de por qué se produce?

He probado a reinstalar el IIS y posteriormente el FrameWork 2.0. El servidor donde he alojado la aplicación tiene instalado un servidor Oracle 9, por lo que entiendo (no se) que no debe ser problema de conexión con Oracle porque de hecho, lo ejecuto en mi máquina y funciona perfectamente (conectando la BBDD desde el server).

Bueno, desde ya, muchas gracias chicos!!!

Un saludo.
  #2 (permalink)  
Antiguo 27/02/2009, 06:20
 
Fecha de Ingreso: diciembre-2008
Mensajes: 88
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Problema Oracle + .Net aplicación web

mira es algo comun probablemente tengas una version de windows alterada, y si no es asi tuve el mismo problema para un proyecto de la universidad la solucion que tuve que hacer es formatiar la pc y probar hasta que salga si pillas alguna otra solucion me cuentas porfavor
  #3 (permalink)  
Antiguo 27/02/2009, 07:11
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Problema Oracle + .Net aplicación web

no tiene nada que ver con windows tu error,

1.- El error es claro te dice que el valor no esta establecido en alguna de tus variables de session y seguramente se lanza en esta parte del codigo

Código:
Protected Sub cmdAceptar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdAceptar.Click
' Valida que haya introducido el DNI
If txtDNI.Text = "" Then

Response.Write(pfs_MessageBox(1, "Ha de introducir un DNI válido"))

Else

'Valida que el DNI es válido
Dim drOra As OracleDataReader
Dim dsDatos As DataSet = New DataSet()
Dim sQuery As String
sQuery = "SELECT * FROM CIUDADANOS WHERE DNI='" & UCase(txtDNI.Text) & "'"

drOra = pfs_RecuperarRegistros(sQuery, dsDatos)

If drOra.HasRows Then

Session("sDNI") = UCase(txtDNI.Text)
Session("sIDCiudadano") = drOra.Item("ID")
' Hay que redirigir a la página de datos básicos
If Session("sURL") = "" Then
Session("sURL") = "~/emprendedores/datosbasicos.aspx"
End If

Response.Redirect(Session("sURL"))

Else
' Redirige a la pantalla de datos básicos de emprendedores con el DNI introducido
' para que el usuario lo dé de alta
Response.Redirect("~/emprendedores/datosbasicos.aspx?dni=" & UCase(txtDNI.Text))

End If

End If

End Sub
porque uno la carga cuando haces un Response.Redirect puede perder la session que acaba de ser añadida

prueba usando esta sobrecarga de response redirect

Response.Redirect(url,false)

o

2.- Tu session timeout es nada practicamente y pierdes la session mientras ejecutas.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #4 (permalink)  
Antiguo 02/03/2009, 02:51
 
Fecha de Ingreso: febrero-2009
Mensajes: 4
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Problema Oracle + .Net aplicación web

Gracias a los dos por responder, se me olvidó deciros que el error donde salta el debug es en:

Código:
 if drOra.HasRows then
Vamos, a la hora de trabajar con el objeto drOra, que ya tengo inicializado y funcionando perfectamente porque de hecho, si lo ejecuto en mi máquina con el servidor propio de VS2005, me tira perfectamente, pero si lo hago en el IIS de otra máquina... se cuaja que da gusto jeje.

Saludos!!!
  #5 (permalink)  
Antiguo 02/03/2009, 02:53
 
Fecha de Ingreso: febrero-2009
Mensajes: 4
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Problema Oracle + .Net aplicación web

Cita:
Iniciado por massu_vago Ver Mensaje
mira es algo comun probablemente tengas una version de windows alterada, y si no es asi tuve el mismo problema para un proyecto de la universidad la solucion que tuve que hacer es formatiar la pc y probar hasta que salga si pillas alguna otra solucion me cuentas porfavor
massu_vago, no hace falta formatear hombre jejeje, lo he probado en distintas máquinas virtuales recién instaladas e incluso en una máquina con Server 2003 dedicada únicamente a mi proyecto y recién instalada.

La verdad que en todos los años que llevo en .net, es la primera vez que me salta este error.
  #6 (permalink)  
Antiguo 02/03/2009, 05:56
 
Fecha de Ingreso: febrero-2009
Mensajes: 4
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Problema Oracle + .Net aplicación web

buenas,

ya he conseguido subsanar el error, por lo que, el administrador del foro que por favor cierre el post.

Gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:23.