Utilidades

Especificaciones del driver JDBC

El driver JDBC del CTSQL cumple con la API 2.0 del JDBC. Se trata de un driver de tipo 4, lo que significa que está implementado íntegramente en Java y que, por lo tanto, puede ser utilizado en cualquier plataforma que soporte dicho lenguaje.

Gracias a este driver podremos acceder directamente a servidores CTSQL en cliente-servidor desde programas escritos en Java.

Sintaxis de la URL

Esta es la sintaxis para las URL’s del driver JDBC del CTSQL:

jdbc:ctsql://<dbhost>:<port>/<dbname>[;<attribute-name>=<attribute-value>]**

Donde:

<dbhost> Nombre o dirección IP de la Esta es la sintaxis para las URL’s del driver JDBC del CTSQL:máquina donde está instalado el servidor CTSQL.
<port> Número del puerto donde espera las conexiones el servidor CTSQL. Este valor debe ser numérico, no siendo válido poner el nombre del servicio.
<dbname> Nombre de la base de datos con la que se quiere establecer conexión.
<attribute-name>=
<attribute-value>
Dentro de la URL se pueden indicar las variables de entorno de la conexión separadas por un punto y coma (;). En este apartado será obligatorio indicar al menos el DBPATH. Este formato también permite indicar el usuario y la password mediante los <attribute-name> "user" y "password" respectivamente. Los <attribute-name> son sensibles al uso de mayúsculas (case-sentitive).

Registro del driver

La clase que implementa la interfaz java.sql.Driver, y que por tanto hay que registrar, es: com.transtools.jdbc.CtsqlJdbcDriver. La API JDBC 1.0 permite dos formas para registrar el driver:

Class.forName("com.transtools.jdbc.CtsqlJdbcDriver");

Establecimiento de la conexión

Una vez registrado el driver ya es posible establecer conexiones con el servidor CTSQL. Para obtener una conexión se debe utilizar el método getConnection de la clase java.sql.DriverManager. Este método a su vez tiene tres signaturas que permiten indicar la información para establecer la conexión de diferentes formas:

public static Connection getConnection(String url, java.util.Properties info) throws SQLException;

Esta signatura permite indicar las variables de entorno, tanto en la URL como dentro de un objeto java.util.Properties, siendo este último el que prevalece.

public static Connection getConnection(String url, String user, String password) throws SQLException;

Esta signatura permite indicar directamente el usuario y la contraseña a utilizar. El resto de variables de entorno se deberán poner dentro de la URL.

public static Connection getConnection(String url) throws SQLException;

En esta forma de llamar al método getConnection se debe poner toda la información dentro la URL.

Observaciones

Para un correcto funcionamiento del driver, y con el fin de evitar la degradación del rendimiento, se recomienda explícitamente cerrar las conexiones y sentencias que se hubiesen creado cuando no se vaya a hacer más uso de ellas. Estos objetos emplean recursos del servidor CTSQL que solo se liberan cuando se destruye el objeto. En Java, esta operación la realiza el Recolector de Basura, que no tiene definido cuándo debe liberar el objeto. Por lo tanto, no se puede asegurar que se vayan a liberar los recursos del CTSQL hasta que finalice el programa o se llame explícitamente al método close.

Ejemplo

Puede ver un ejemplo práctico en el documento PDF