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 SQLa 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-C | Mantener C/C++ y latencia, eliminando el precompilador. |
| Java / JDBC | Converger con el resto del stack y ganar mantenibilidad. |
| Microservicio | Encapsular 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.