¿Es posible hacer un JNI de Java que llame a jdbc?

Soy nuevo en jni y estoy muy confundido si puedo usar jni para lograr lo que necesito hacer. Quiero hacer una API Java que use jdbc para actualizar la base de datos, pero esta API particular se llamará desde el programa C ++.

Así que creo que probablemente debería escribir código jni que acceda a la base de datos a través de jdbc (¿es eso posible?), Crear código C ++ y generar dll para que otros programas de C ++ puedan llamar al dll para actualizar la base de datos. ¿Es todo esto posible? Si es así, ¿cómo llamo realmente a jdbc en jni? Si finalmente se realiza este dll, ¿puede Fortran llamarlo también?

Mi otro pensamiento es que tal vez debería hacer un programa java regular para actualizar la base de datos, luego usar say ikvm para envolver la clase java en dll C ++.

La cosa es que tengo que usar la base de datos de acceso usando Java. Nuestros programas C ++ no accederán a la base de datos, y sería mejor si se puede acceder a esta API Java mediante una llamada al sistema.

¿O hay alguna forma mejor de hacerlo?

Espero haberlo explicado bien. No estoy familiarizado con lo que me asignan aquí y no puedo encontrar mucha referencia relevante.

¡¡Muchas gracias!!

ACTUALIZADO: El problema no es que todas las computadoras tengan instalado el controlador postgresql C ++, pero sí tienen instalado el controlador postgresql Java. No queremos obligar a todos a instalar el controlador db de C ++ y no se realizarán cambios importantes en esos programas de C ++. Por lo tanto, tendrá sentido crear algo en Java para acceder a la base de datos. El servicio del sistema java (preferido, como dll?) / API básicamente se llama para registrar la hora de inicio y la hora de finalización de un programa C ++. El programa C ++ hará unllamada "función" (con parámetro de paso y valor devuelto) a este servicio del sistema / API de Java para registrar la hora de inicio / finalización.

Respuestas a la pregunta(1)

Su respuesta a la pregunta