jueves, 18 de enero de 2018

Crear clases java JPA de SQL SERVER.

1. Introducción

Tengo una BD antigua SQL Server 2000 y quiero generar algunas clases JPA para acceder a consulta etc.

Existe en Eclipse una ultilidad llamad JPATools. Se puede ejecutar si tu proyecto tiene la FACET de JPA.

Pero NO va bien en SQL Server versiones antiguas ya que no puede ver el SCHEMA "dbo" que es el esquema por omisión cuando no se crean eschemas. Busca un Catalog y como no hay ninguno creado no muestra nada

Para ello recurrimos a NETBEANS.

2. Proceso

1. Descargar un jar antiguo que pueda manejar esta información como sqljdbc-1.2.0.jar desde Java2s , también se puede utilizar el jtds . Vamos a utilizar ahora jtds.


2. En la pestaña de services arriba a la izquierda (si no está se debe incorporar mediante el menú superior Windows, en DataBases , boton derecho New Connection

Y seleccionamos justo lo que hay en pantalla



3. crear la conexion a SQL Server seleccionando url del servidor, puerto 1433, usuario, contraseña, base de datos y schema "dbo". Probar la conexión con Test Connection y verificar que no hay problemas.



3. Crear un proyecto java, crear un package y en boton derecho sobre el package hacer New Entity From Database, se busca la conexión creada anteriormente , y se seleccionan las tablas. Y voila!!!



Ojo hay que tener creadas primary key!!

=======================================================================
ANEXO (Crear la conexión (TOTALMENTE INUTIL)


1. SQL Server 2000


a. Descargar el fichero sqljdbc-1.2.0.jar desde Java2s



b. Crear una nueva connexion tipo SQL Sever


c. Indicar other driver y buscar el jar en la carpeta de descarga. Se busca el driver desde el primer símbolo que hay des. Ojo estas propiedades de URL etc se definen en el paso d.






Indicar estas propiedades




3. Posibles problemas

Si por algún motivo, en vez de crear restricciones "primary key" en una tabla se ha creado "unique" o "unique index", hay que crear la restricción "primary key" sinó, Netbeans se opnone a crear las clases JPA de dicha tabla, para ello se puede crear. Veamos como de golpe las creamos en 9 tablas, y solucionamos el problema

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
ALTER TABLE RRRR01 ADD CONSTRAINT RRRR01_pk PRIMARY KEY (rr01nume);
ALTER TABLE RRRR02 ADD CONSTRAINT RRRR02_pk PRIMARY KEY (rr02nume);
ALTER TABLE RRRR03 ADD CONSTRAINT RRRR03_pk PRIMARY KEY (rr03nume);
ALTER TABLE RRRR04 ADD CONSTRAINT RRRR04_pk PRIMARY KEY (rr04nume);
ALTER TABLE RRRR05 ADD CONSTRAINT RRRR05_pk PRIMARY KEY (rr05nume);

ALTER TABLE RRRR06 ADD CONSTRAINT RRRR06_pk PRIMARY KEY (rr06nume);
ALTER TABLE RRRR98 ADD CONSTRAINT RRRR98_pk PRIMARY KEY (rr98nume);
ALTER TABLE RRRR99 ADD CONSTRAINT RRRR99_pk PRIMARY KEY (rr99nume);
ALTER TABLE RRRR00 ADD CONSTRAINT RRRR00_pk PRIMARY KEY (rr00nume);


1 comentario :

  1. Existe en Eclipse una ultilidad llamad JPATools. Se puede ejecutar si tu proyecto tiene la FACET de JPA. Pero NO va bien en SQL Server versiones antiguas ya que no puede ver el SCHEMA "dbo" que es el esquema por omisión cuando no se crean eschemas. https://goodnightpublishing.com/programa-para-descifrar-claves-wifi/

    ResponderEliminar