Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/02/2009, 04:42
neneh79
 
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.