FAQ del paquete mx.udlap.ict.database (versión 1.0)

 

¿Qué es el paquete mx.udlap.ict.database?

¿Qué clases contiene el paquete mx.udlap.ict.database?

¿De dónde puede descargar el paquete mx.udlap.ict.database?

¿Con qué DBMS's comerciales ha sido probado el paquete mx.udlap.ict.database?

¿Qué significa JUDBC?

¿Para qué sirve la clase JUDBC?

¿Para qué sirve la clase SQLArguments?

¿Para qué sirve la clase SQLUtility?

¿Cómo instalar el paquete mx.udlap.ict.database?

¿Cómo usar el paquete mx.udlap.ict.database?

¿Cómo compilar una clase en PC que usa algunas clases del paquete mx.udlap.ict.database?

¿Cómo compilar una clase en UNIX que usa algunas clases del paquete mx.udlap.ict.database?

¿Cómo ejecutar una clase en PC que usa algunas clases del paquete mx.udlap.ict.database?

¿Cómo ejecutar una clase en UNIX que usa algunas clases del paquete mx.udlap.ict.database?

¿Cómo ejecutar un applet que utiliza algunas clases del paquete mx.udlap.ict.database desde una navegador?

¿Puedo utilizar cualquier número de puerto?

¿La clase JUDBC tiene dentro de los constructores username/password? ¿Cuáles son estos parámetros?

¿Respecto a la seguridad no resulta riesgoso el que alguien pueda tener acceso a los datos de mi cuenta?

¿Por qué no puedo recuperar los elementos de un ResultSet?

¿Cómo puedo ejecutar un query diferente a los ya preestablecidos (insert, select, etc.)?

 

¿Qué es el paquete mx.udlap.ict.database?

El paquete mx.udlap.ict.database, desarrollado en Java por estudiantes l laboratorio ICT, contiene una serie de clases útiles para el programador, que le ayudan en la interacción con múltiples bases de datos relacionales bajo el protocolo JDBC.

¿De dónde puede descargar el paquete mx.udlap.ict.database?

Puedes descargar el paquete comprimido en formato JAR de:
http://ict.udlap.mx/projects/private/judbc/classes/1.0/ict.jar

¿Con qué DBMS's comerciales ha sido probado el paquete mx.udlap.ict.database?

El paquete mx.udlap.ict.database ha sido probado satisfactoriamente con los siguientes DBMS's:

¿Puedo revisar el código fuente de las clases del paquete mx.udlap.ict.database ?

Sí, lo puedes hacer en:
http://ict.udlap.mx/projects/private/judbc/classes/1.0/src/

¿Qué clases contiene el paquete mx.udlap.ict.database?

El paquete mx.udlap.ict.database contiene las siguientes clases hasta el momento:

¿Qué significa JUDBC?

JUDBC son las siglas en inglés de Java Universal Database Connectivity.

¿Para qué sirve la clase JUDBC?

La clase JUDBC provee al programador una API útil para la interacción con un DMBS como Informix(tm) Universal Server. o Illustra. Para hacer uso de esta clase es necesario tener instalados los controladores necesarios.

¿Para qué sirve la clase SQLArguments?

La clase SQLArguments almacena un trío: el nombre del argumento, su valor y su tipo.

¿Para qué sirve la clase SQLUtility?

La clase SQLUtility provee una serie de utilidades como la creación de imágenes a partir de una serie de bytes.

¿Cómo instalar el paquete mx.udlap.ict.database?

Antes que nada debes de tener instalado el JDK 1.1.x o superior; lo puedes bajar del sito de Sun Microsystems para Java. Una vez instalado el JDK, tienes que descargar el paquete mx.udlap.ict.database comprimido en formato JAR en el archivo ict.jar de http://ict.udlap.mx/projects/private/judbc/classes/1.0/ict.jar.

¿Cómo usar el paquete mx.udlap.ict.database?

Para poder usar el paquete mx.udlap.ict.database debes de importarlo en tus clases de la siguiente manera:

import mx.udlap.ict.database.*;

public class myclass
{
...................................
}

De esta forma todas las clases pueden ser usadas en tu clase. Ahora bien, si sólo deseas usar algunas clases del paquete en específico, también lo puedes hacer:

import mx.udlap.ict.database.JUDBC;
import mx.udlap.ict.database.SQLArguments;

public class myclass
{
...................................
}

¿Cómo compilar una clase en PC que usa algunas clases del paquete mx.udlap.ict.database?

Desde una consola de MS-DOS, y suponiendo que tus clases y el archivo ict.jar se encuentran en el directorio MiDirectorio ejecuta lo siguiente:

C:\MiDirectorio\javac -classpath ".;ict.jar" MiClase.java

El punto "." se refiere al directorio actual.

¿Cómo compilar una clase en UNIX que usa algunas clases del paquete mx.udlap.ict.database?

Desde una terminal, y suponiendo que tus clases y el archivo ict.jar se encuentran en el directorio MiDirectorio ejecuta lo siguiente:

/usuario/MiDirectorio/javac -classpath .:ict.jar MiClase.java

El punto "." se refiere al directorio actual.

¿Cómo ejecutar una clase en PC que usa algunas clases del paquete mx.udlap.ict.database?

Desde una consola de MS-DOS, y suponiendo que tus clases y el archivo ict.jar se encuentran en el directorio MiDirectorio ejecuta lo siguiente:

C:\MiDirectorio\java -classpath ".;ict.jar;myDBMSdriver.jar" MiClase

El punto "." se refiere al directorio actual. Es importante incluir los controladores de tu manejador de tu DBMS, es por ésto que debe myDBMSdriver.jar aparece ahora. Muchas veces los fabricantes ofrecen sus controladores en un archivo JAR.

¿Cómo ejecutar una clase en UNIX que usa algunas clases del paquete mx.udlap.ict.database?

Desde una terminal, y suponiendo que tus clases y el archivo ict.jar se encuentran en el directorio MiDirectorio ejecuta lo siguiente:

/usuario/MiDirectorio/java -classpath .:ict.jar:myDBMSdriver.jar MiClase

El punto "." se refiere al directorio actual. Es importante incluir los controladores de tu manejador de tu DBMS, es por ésto que debe myDBMSdriver.jar aparece ahora. Muchas veces los fabricantes ofrecen sus controladores en un archivo JAR.

¿Cómo ejecutar un applet que utiliza algunas clases del paquete mx.udlap.ict.database desde una navegador?

Simplemente incluir en el tag del applet el archivo ict.jar:

<APPLET CODEBASE="Miapplet.class" ARCHIVE="ict.jar" ARCHIVE="proyecto.jar" >

¿Puedo utilizar cualquier número de puerto?

No, el puerto depende del DBMS que estés utilizando, algunos manejan más de un puerto pero por lo general se limita a uno solo. Algunos ejemplos:

   Illustra                 1735 <checar>
   Universal Server  1526

   Microsoft Access  'Cuidado', el acceso no es por puerto, se realiza por ODBC.

¿La clase JUDBC tiene dentro de los constructores username/password? ¿Cuáles son estos parámetros?

Son las variables de tu cuenta en el dbms aunque en muchos casos, si el administrador lo desea, puede ser el mismo que tu cuenta en UNIX.

¿Respecto a la seguridad no resulta riesgoso el que alguien pueda tener acceso a los datos de mi cuenta?

Cierto, en las versiones "finales" lo que suele hacerse es facilitar el acceso a una cuenta general* que tenga persmisos de lectura o escritura restringida, de modo que todas las aplicaciones de un proyecto tengan acceso libre de esta forma, evitando así problemas de seguridad.

* dbclient

¿Por qué no puedo recuperar los elementos de un ResultSet?

Un error muy común es olvidar que los campos relacionados con tablas empiezan con índice 1 y NO con 0 como ocurre con las demás estructuras de datos en Java.

                    String string = rs.getString(0)    esto no es válido

quizás la mejor manera de evitar esto es usar el nombre de las columnas directamente, aunque esto no se aplica en todos los casos, por ejemplo en los ResultSetMetaData.

                     String string = rs.getString("nombre");

¿Cómo puedo ejecutar un query diferente a los ya preestablecidos (insert, select, etc.)?

Efectivamente, los queries pueden ser tan complicados como uno lo desee, mezclando joins, unions, etc.; para este caso emplea el método ExecuteQuery pero te recordamos que no todos los dbms manejan los mismos tipos de consultas y sintáxis, por ello es recomendable revises el manual SQL de tu producto.