| Manual de BD4 / JDBC | Anterior / Siguiente |
El driver JDBC (bd4jdbc.jar) se puede usar para acceder a los datos desde Java.
El siguiente ejemplo realiza una conexión:
String url = "jdbc:bd4://www.tetrainfo.com:4000/CÓDIGO/BASE_DE_DATOS",
user = ?,
pass = ?;
try(Connection conex = DriverManager.getConnection(url, user, pass))
{
...
}
En el URL, el CÓDIGO se correspondería con lo que se debe
indicar en el campo homónimo de la pestaña 'Servidor BD4' del diálogo
de conexión de Cont4.
El valor BASE_DE_DATOS en el URL suele ser
CONT (contabilidad), FACT
(facturación) o GEST (gestión) seguido
de un quión bajo, el año, otro guión bajo y el número de empresa.
Por ejemplo, GEST_2026_1 se correspondería con una
base de datos de gestión del ejercicio 2026 de la empresa 1.
En caso de que el acceso se realice hacia una instalación fuera de la
nube, es decir, la versión multiusuario (cliente/servidor), habría que
omitir el CÓDIGO. El URL quedaría así:
String url = "jdbc:bd4://SERVIDOR:PUERTO//BASE_DE_DATOS";
...
Si se desarrolla una utilidad que realiza conexiones de forma "desatendida" desde un servidor, es conveniente configurar la autenticación de doble factor en el usuario que realice la conexión.
La autenticación de doble factor envía un e-mail con un código de verificación cuando se realiza una conexión desde un ordenador por primera vez, o cuando su permiso ha caducado. Esto no es viable en un programa que se tenga que ejecutar de forma automática. Por ello, existe un mecanismo para otorgar permiso a un servidor.
Primero hay que obtener la clave que identifica el servidor ejecutando el siguiente comando:
$ java -jar bd4jdbc.jar addr
eHuKsRmU
A continuación se puede indicar mediante SQL en la base de datos raíz que el usuario tiene permiso para conectar desde dicho servidor:
ALTER USER NOMBRE_USUARIO SET DAYS2FA=4,ADDR2FA='20260928eHuKsRmU'
El valor 4 de DAYS2FA indica el número de días que deben
transcurrir sin que se realice una nueva conexión para que el permiso
caduque.
En el valor 20260928eHuKsRmU, los primeros 8 números son
la fecha de la última conexión en formato ISO 8601 básico, y el resto de
la cadena es la clave que identifica al servidor.