Saltar al contenido principal
Vermont Solutions

Glosario · Modernización legacy · Oracle

Pro*C — SQL embebido en C, deuda técnica y migración

Pro*C/C++ es el precompilador de Oracle que permite embeber SQL (EXEC SQL) dentro de código C/C++. El precompilador lo traduce a llamadas a la librería de runtime de Oracle (SQLLIB), con variables host para los datos y la SQLCA para los errores. Fue la vía para sistemas de baja latencia sobre Oracle —core bancario, switching de pagos, batch masivo— y hoy es una de las formas más profundas de deuda técnica.

Pro*C casi nunca está en la periferia: suele estar en el camino crítico de baja latencia. Por eso su modernización es delicada y se aborda con aislamiento, contrato de pruebas y sustitución incremental, no con un corte.

Qué es y cómo funciona

  • EXEC SQL: sentencias SQL (y PL/SQL) escritas dentro del fuente C/C++.
  • Precompilación: Oracle traduce el EXEC SQL a llamadas a la librería de runtime SQLLIB antes de la compilación C.
  • Variables host e indicadoras: el puente de datos entre C y la base de datos.
  • SQLCA (SQL Communications Area): estado y códigos de error tras cada sentencia.
  • Soporta SQL estático y dinámico y operaciones por arrays para rendimiento.

Rutas de migración

Destino Cuándo
OCI / ODPI-CMantener C/C++ y latencia, eliminando el precompilador.
Java / JDBCConverger con el resto del stack y ganar mantenibilidad.
MicroservicioEncapsular y exponer una interfaz moderna; desacoplar.

Cómo ayuda Vermont Solutions

Modernizar componentes Pro*C del camino crítico

Vermont aísla el componente, fija su comportamiento con pruebas y lo sustituye de forma incremental (strangler fig), preservando latencia y continuidad. 15 años en banca tier-1 con disponibilidad del 99,9 %.

Términos relacionados

Fuentes

Última actualización: 2026-06-05. Contenido editorial Vermont Solutions, citable bajo atribución. Oracle y Pro*C son marcas de Oracle Corporation.