Cita:
Iniciado por pcarvajal
Desde un formulario en vb.net, estoy tratando de rescatar un campo desde un sp que está en oracle. El código que tengo es el siguiente:
Código vb:
Ver originalImports System.Data.OleDb
...
Dim oraConn As String = "Provider=MSDAORA; Data Source=(DESCRIPTION=" _
+ "(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=99.99.99.99)(PORT=9999)))" _
+ "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)));" _
+ "User Id=XXXXXX;Password=XXXXXX;"
Dim conn As New OleDb.OleDbConnection(oraConn)
Dim sql As String = "SpGestionLeerXRutFecha '" & cRut & "'"
Dim cmd As New Imports System.Data.OleDb
OleDb.OleDbCommand(sql, conn)
cmd.CommandType = CommandType.Text
Dim dr As OleDb.OleDbDataReader = cmd.ExecuteReader() ' Visual Basic
dr.Read()
MsgBox(dr.Item("NTIDGES"))
conn.Close()
conn.Dispose()
Pero me arroja el siguiente error:
Error: ExecuteReader requiere de una conexion abierta y disponible. El estado actual de la conexion es cerrada
Que puede ser?????????

Y seré curioso... ¿Donde está el "conn.Open()"?... Porque yo no lo veo.
No es lo mismo
crear una conexión que
abrir una.
Otra cosa: ¿Por qué usas el System.Data.Ole, y no el
Oracle Data Provider for .Net, que además de nativo es más potente, y con mucha documentación?
Me parece que estás desperdiciando esfuerzo.