sql >> Base de Datos >  >> RDS >> Oracle

Tipos de Oracle sql sobre dblink

He tenido problemas similares en el pasado. Luego llegué a la conclusión de que, fundamentalmente, los enlaces db de Oracle están "rotos" para todo menos para tipos de SQL simples (especialmente UDT, CLOBS puede tener problemas, XMLType también). Si puede hacer que la solución OID funcione, buena suerte.

La solución a la que recurrí fue usar un procedimiento almacenado de Java, en lugar de DB Link.

Características del procedimiento almacenado de Java:

  1. Puede devolver un "conjunto rico de tipos", casi todos los tipos complejos (UDT, tablas/matrices/varrays) consulte Documentación en línea de Oracle para detalles. Oracle hace un trabajo mucho mejor al organizar tipos complejos (o ricos) desde Java que desde un DBLink.
  2. El Java almacenado puede adquirir la "conexión predeterminada" (se ejecuta en la misma sesión que la conexión SQL a la base de datos, sin problemas de autenticación).
  3. Java almacenado llama al proceso PL/SQL en la base de datos remota, y la capa JDBC de Java realiza el cálculo de referencias desde la base de datos remota.
  4. El Java almacenado empaqueta el resultado y lo devuelve a la capa SQL o PL/SQL.

Es un poco de trabajo, pero si tiene un poco de Java, debería poder "cortar y pegar" una solución desde la documentación y la muestra de Oracle.

Espero que esto ayude.