Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/02/2008, 08:35
Avatar de juantux
juantux
 
Fecha de Ingreso: marzo-2005
Mensajes: 59
Antigüedad: 19 años, 1 mes
Puntos: 1
Oracle + vb net + package

Tengo el siguiente problema.

Este es mi package de prueba:

Código:
--Header
create or replace package PKGTest is

  -- Author  : JGONZALEZF
  -- Created : 12/02/2008 10:03:48
  -- Purpose : 
  
  type arrGlosa is table of varchar(50);
  
  procedure test
  (
     param1 out arrGlosa
  );

end PKGTest;


--Body
create or replace package body PKGTest is
  
  procedure test  
  (
     param1 out arrGlosa
  )
  
  AS
  
  cursor cur is
  select InstId ,InstGlosa
  from TesT_InstiFinan; 
  
  conta number default 1;
  
  begin
    for regCur in cur
    loop
       param1(conta) := regCur.instglosa;
       conta := conta + 1;
    end loop;
  end test;
  
end PKGTest;
Y cuando quiero llamarlo desde vb net con oledb, uso este codigo:

Código:
Dim cnOra As New OleDbConnection("Provider=MSDAORA;Data Source=ayftest;" & _
                                 "user id=administradora;password=xxx;Persist Security info=False;")

        Dim sqlCmd As New OleDbCommand _
        ("{call PKGTest.test({resultset 3, param1})}", cnOra)
        sqlCmd.CommandType = CommandType.Text

        Dim sqlDA As New OleDbDataAdapter(sqlCmd)

        cnOra.Open()

        Dim ds As New DataSet
        Try
            sqlDA.Fill(ds)
            'Me.DataGrid1.DataSource = ds.Tables("Persons")
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

        cnOra.Close()
Que lo saque de la página de microsoft, pero como siempre.. al parecer algo falla.. ojala puedan ayudarme, gracias.