Visual Basic.NET - datagrid1 y stored procedure de oracle

 
Vista:
sin imagen de perfil

datagrid1 y stored procedure de oracle

Publicado por roberto (29 intervenciones) el 27/10/2010 21:05:56
saludos a los amigos del foro,y he aqui que tengo esta inquietud y espero me puedan orientar:

Tengo un stored procedure creado en una base de datos en oracle 11g, he logrado poblar un datagrid1 desde mi proyecto de vb.net haciendo referencia a una vista o una tabla directamente,sin embargo he tratado de poblar el mismo datagrid1 haciendo referencia al stored procedure creao en oracle y me da un error.Uso Oledb y el sgte. codigo para hacer esto :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Dim cn As New OleDb.OleDbConnection("Provider=MSDAORA;Data Source=ORCL;Password=HR;User ID=HR")
If cn.State = ConnectionState.Closed Then
    cn.Open()
 
End If
Dim cmd As New OleDb.OleDbCommand
With cmd
    .CommandText = "{ejemplo1}"
    .CommandType = CommandType.Text
    .Connection = cn
End With
Dim da As New OleDb.OleDbDataAdapter
With da
    da.SelectCommand = cmd
End With
Dim dt As New DataSet
da.Fill(dt, "ejemplo1")  ---> UNO O MAS ERRORES AL PROCESAR EL COMANDO
Me.DataGrid1.DataSource = dt.Tables(0)

He probado cambiando el commandtype a =storedprocedure,tambien quitando las llaves y colocando "CALL" como parte del commandtext y nada.

No se donde podria estar el error,pues el stored esta probado en el oracle mismo y corre bien.

Espero me puedan orientar de como es la sintaxis al respecto.

Desde ya muy agradecidos.
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

datagrid1 y stored procedure de oracle

Publicado por zoerega (1 intervención) el 21/11/2013 05:49:54
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Dim sSQL As String
Dim oCn As ADODB.Connection
Dim oRs As ADODB.Recordset
' Open the connection
Set oCn = New ADODB.Connection 'crea un objeto ADODB.connection en la variable
With oCn
.ConnectionString = "Provider=OraOLEDB.Oracle.1;Password=hr;Persist Security Info=True;User ID=hr se asigna la cadena que contiene el nombre de la BD
.CommandTimeout = 30 'tiempo para ejecutar la sentencia anterior
.ConnectionTimeout = 30 'tiempo para crear la conexion
.Open  'abrir la BD

End With
Debug.Print oCn
Set oRs = New ADODB.Recordset
oRs.CursorLocation = adUseClient

sSQL = Text4.Text & ";"
oRs.Open sSQL, oCn, 3, 3
MsgBox CStr(oRs.RecordCount)
Debug.Print sSQL
'oRs.Open sSQL, oCn, adOpenStatic, adLockOptimistic, adCmdText
'oRs.Open sSQL, oCn, adOpenStatic, adLockReadOnly, adCmdText
'asigna datos al datagrid
Set DataGrid1.DataSource = oRs
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