• Sábado 21 de Diciembre de 2024, 20:51

Autor Tema:  Pasar Un Cursor A Traves De Un Dblink  (Leído 3929 veces)

Murillo

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Pasar Un Cursor A Traves De Un Dblink
« en: Miércoles 15 de Noviembre de 2006, 09:17 »
0
Buenas.

mi pregunta es la siguiente:

Tengo un dos bases de datos en oracle y necesito llamar desde una a un procedimiento de la otra y que esta me devuelva un cursor, mi problema es que no soy capaz de que me lo devuelva y cuando por fin consegui que no diera error resulta que me lo devuelve vacio, alguien sabe si es que no se pueden pasar cursores por DBLINK o si es alguna otra cosa que tengo que cambiar?Tengo la idea de que es lo del DBLINK xq si yo hago lo mismo pero sobre un procedimiento de mi base de datos no hay problema.

La esencia del problema radica en que en un principio yo deberia de llamar al procedimiento de la otra base de datos a traves de cobol y que este me devuelve el cursor, pero en vistas de que no puedo estoy intentando hacerlo mediante un procedimiento que llame a otro, si alguien pudiera ayudarme en eso ya entonces seria un lujo.

Muchas gracias
Un Saludo.Murillo

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Pasar Un Cursor A Traves De Un Dblink
« Respuesta #1 en: Sábado 25 de Noviembre de 2006, 14:46 »
0
No deberia haber ningun inconveniente, para mí que el problema debe ser ser de permisos, sino pues hay maneras de solucionarlo... nos cuentas como vas please...
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

rllozag

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Pasar Un Cursor A Traves De Un Dblink
« Respuesta #2 en: Viernes 22 de Junio de 2007, 19:23 »
0
Yo tambien tube ese problema, pero lo solucione con un table of record, si quieres mas detalle enviame un correo a raul.loza@nextel.com.pe

LO que si quiero saber si es un conflito del oracle trabajar con bdlink y cursores... si alguien sabe porfavor me de detalles.

Nota: trabajar con Table of record te salva de este percancer pero no es lo mas optimo pues consume mucha memoria y el proceso es lento... por eso todabia estoy buscando trabajar con cursores.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Pasar Un Cursor A Traves De Un Dblink
« Respuesta #3 en: Sábado 23 de Junio de 2007, 16:43 »
0
Cita de: "rllozag"
pero no es lo mas optimo pues consume mucha memoria y el proceso es lento...
Estas equivocado , en efecto es lo mas optimo que puede haber pero al utilizar memoria directamente hay que saberlo usar de acuerdo a las limitaciones de memoria que existan en la SGA.

Si vas a utilizar pl/sql tables lo mas conveniente es realizar bulk collect con no mas de 200.000 registros (dependiendo el tamaño de cada record), ya que si usas mas es muy probable que el motor comience a hacer swap debido al gran espacio inutilizado en memoria en un instante determinado.

Las soluciones mas óptimas para ese tipo de casos siempre son utilizando pl/sql tables, nunca se me ha presentado ningún inconveniente con cursores, como hacen los cursores? que tipo de situaciones pretenden manejar?
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io