# Servidor jRDC2-Multi Modificado (B4J) ## 1. Introducción Este proyecto es una versión modificada del servidor [jRDC2 original](https://www.b4x.com/android/forum/threads/b4x-jrdc2-b4j-implementation-of-rdc-remote-database-connector.61801/#content), diseñada para actuar como un backend robusto y flexible. Su función principal es recibir peticiones HTTP, ejecutar comandos SQL predefinidos contra una base de datos y devolver los resultados en un formato estructurado. Ha sido adaptado para servir tanto a clientes nativos (B4A/B4i) como a clientes web modernos (JavaScript, a través de frameworks como React, Vue, Angular, etc.). ## 2. Características Principales * **Soporte para Múltiples Bases de Datos**: Puede cargar y gestionar hasta 4 archivos de configuración (`config.properties`) simultáneamente. * **Comandos SQL Externalizados**: Las sentencias SQL se definen en los archivos de configuración, permitiendo modificarlas sin recompilar el servidor. * **Doble Handler de Peticiones**: Incluye un handler clásico para clientes B4X y un handler JSON para clientes web. * **Validaciones de Seguridad**: Verifica la existencia de comandos y la correspondencia en el número de parámetros. * **Administración Remota**: Permite verificar el estado, recargar la configuración y reiniciar el servidor a través de URLs específicas. ## 3. Configuración ### 3.1. Archivos de Configuración El sistema está preparado para manejar hasta **cuatro configuraciones de bases de datos** (de `DB1` a `DB4`). No es necesario tener los cuatro archivos; el servidor cargará únicamente los que encuentre. La nomenclatura de los archivos es fundamental: * `config.properties` (para `DB1`) * `config.DB2.properties` * `config.DB3.properties` * `config.DB4.properties` **Notas importantes:** * El **puerto** del servidor se toma **únicamente** del archivo principal `config.properties`, sin importar lo que digan los demás. * Los datos de conexión (`JdbcUrl`, usuario, contraseña) sí se toman del archivo correspondiente a cada base de datos. ### 3.2. Añadir Drivers de Bases de Datos Adicionales Si necesitas conectarte a otros tipos de bases de datos (ej. Oracle), debes agregar el archivo del controlador `.jar` al proyecto antes de compilar. En el módulo `Main`, añade una línea como la siguiente: ```b4x ' Este es el nombre del archivo .jar, en este caso "C:\Ruta\Adicional\ojdbc11.jar" #AdditionalJar: ojdbc11