Mostrando entradas con la etiqueta mysql. Mostrar todas las entradas
Mostrando entradas con la etiqueta mysql. Mostrar todas las entradas

Habilitar Tomcat y Glassfish para conexion a bases de datos

En muchas ocasiones me he visto en la necesidad de configurar mi Tomcat o Glassfish para que mis aplicaciones se peguen a su respectiva base de datos, aun cuando en las librerías de los respectivos proyectos incluya el driver jdbc necesario.

La forma de configurar Tomcat y Glassfish es muy simple solamente es necesario incluir en la carpeta "lib" que esta dentro de la ruta de instalación de cualquier de los dos servidores el respectivo JAR.


Para Tomcat y Glassfish:

$HOME_PATH/lib

Donde $HOME_PATH es la ruta de instalación de Tomcat.

En mi debian el instalador de Netbeans deja el $HOME_PATH de Tomcat y Glassfish en la siguiente ubicación:

/usr/local/apache-tomcat-6.0.18
/usr/local/glassfish-v2ur2

Para windows como tengo ratos de no instalarlo Tomcat no recuerdo donde lo dej el instalador por defecto pero al igual que en GNU/Linux al obtener el archivo descomprimible lo podemos ubicar en el lugar que queramos el $HOME_PATH.

En el caso de sistemas GNU/Linux ó Unix no es necesario copiar fisicamete el archivo pues también se puede utilizar un enlace simbólico.

# ln -s /ruta/del/driver/jdbc_driver.jar $HOME_PATH/lib

Como también en mis aplicaciones el DAO Oracle TopLink para JPA en el caso de Glassfish no es necesario por que ya esta incluido pero para Tomcat no así que es necesario descargar los respectivos JAR de Oracle TopLink para poder usar persistencia de datos.

Luego de eso reiniciamos los servicios.

Dejare los links para poder descargar los respectivos driver jdbc para los diferentes gestores de bases de datos mas populares.

JDBC Driver para MySQL
JDBC Driver para Oracle
JDBC Driver para PostgreSQL
JDBC Driver para Apache Derby
JDBC Driver para SQL Server / Sybase puede usarse el driver libre o el propietario.

Comentarios (0)

Campos autoincrementables

Siempre me ha llamado la atención de como se declaran los famosos campos auto incrementables en las distintas bases de datos por lo menos en las que he usado, y ahora mas ya que he estado usando intensamente JPA.



Acá pondré un resumen de como se declaran:

MySQL

campo [(longitud)] [not null] auto_increment primary key

Es necesario definir un campo autoincrementable de llave primaria en MySQL ya que este asi lo requiere de lo contrario no se puede declarar este tipo de campo.
Ejemplo:

create table prueba (
id int not null auto_increment primary key
)


PostgreSQL

campo serial [not null]

En PostgreSQL por el contrario que MySQL no requiere que un campo de tipo serial sea una llave primaria ejemplo:

create table prueba (
id serial not null
)

SQL Server / Sybase

En el caso de SQL Server / Sybase es mucho mas simple solo basta utilizar esta sintaxis:


campo int identity [(inicio,incremento)]

Ejemplo:

create table prueba (
id int identity
)

O sino si queremos que comience desde 3 y su incremento sea de dos en dos lo declaramos asi:

create table prueba (
id int identity(3,2)
)

Apache Derby

campo int [not null] generated always as identity [(start with [cantidad], increment by [cantidad])]

Derby es el gestor de base de datos de Apache, que viene incluido en el JDK 1.6, y lo podemos usar a traves de Netbeans, dos ejemplos de declaracion serian:

create table prueba (
id int not null generated always as identity
)

En el ejemplo anterior el campo id se generara como campo auto incrementable, con los valores por defecto que comienza a contar desde uno y su incremento es de uno en uno.

Ahora veamos este otro:

create table prueba (
id int not null generated always as identity (start with 5, increment by 2)
)

En la declaracion anterior estoy creando un campo de tipo autoincrementable que comience en cinco y su incremento sera de dos en dos.

Oracle

En el caso de Oracle es un poco mas trabajoso ya que no existe un tipo auto incrementable. Lo que se debe de hacer es primero crear un campo de tipo Number, luego crear una secuencia y por ultimo crear un trigger que realizara el autoincremento cada vez se haga un insert.

Ejemplo de todo esto seria:

create table prueba (
id number not null primary key,
descripcion varchar2(20)
)

Ya creada la tabla ahora crearemos una secuencia que comience desde uno y que se incremento en uno tambien.

create sequence seq_id_prueba
start with 1
increment by 1
nomaxvalue;

Hecha la secuencia debemos crear el trigger para que se utilice la secuencia para cada insert que le hagamos a la tabla.

create trigger trig_id_prueba
before insert on prueba
for each row
begin
select seq_id_prueba.nexval into :new.id from dual;

end;

Ahora cada vez que hagamos un insert podremos hacerlo asi:

insert into prueba(descripcion) values('Una fila');

Espero que les sirva este pequeno resumen ya que me costo un webo terminarlo aun cuando se ve sencillo ya que lo empece desde el domingo y hasta el dia de hoy logre terminarlo.

Comentarios (3)

Instalar y conectar DBDesigner4 con MySQL

Después de recomendar como conectar PostgreSQL y MySQL con OpenOffice.org Base, y encontrar la limitante de no poder realizar ni mucho menos ver un diagrama entidad relación con OpenOffice.org Base, me dispuse a utilizar DBDesigner4 que esta integrado muy bien con MySQL.

Es de aclarar que me he logrado conectar a mi servidor de base de Datos MySQL versión 5.0 sin ningun problema.

Para poderlo instalar se puede mediante los siguientes URL

Herramienta
Archivo descarga
DBDesigner4DBDesigner4.0.5.4.tar.gz

KylixLibs

kylixlibs3-borqt-3.0-2.tar.gz
Driver DbExpress de MySQL para GNU/Linuxdbxmda.tar.gz

Antes que nada debemos descargarnos unos paquetes para que DBDesigner4 funcione correctamente y lo hacemos por medio de apt.

# apt-get install libstdc++5 libstdc++6 libstdc++6-4.2-dev

Bien ahora lo otro necesario es instalar las KylixLibs.

# tar -xvf kylixlibs3-borqt-3.0-2.tar.gz -C /opt

El parámetro -C sirve para descomprimir el contenido en un directorio especifico en este caso es en /opt.

# cd /opt/kylixlibs3-borqt
# ./install.sh
# cp -d /usr/lib/kylix3/* /usr/lib

Ya hecho esto procedemos a instalar el DBDesigner4

# tar -xvf DBDesigner4.0.5.4.tar.gz -C /opt
# cd /opt/DBDesigner4
# ./startdbd

Ahora podemos ejecutarlo como usuario normal

$ ./DBDesigner4

"área principal de trabajo de DBDesigner4"

Pero de primera no podía conectarme a mi servidor MySQL, ya que me aparecía un error que decía Unable to Load libsqlmy.s0 y para resolverlo utilice el driver dbexpress. Para instarlo se descomprime y se copia un archivo *.so hacia /usr/lib

# tar -xvf dbxmda.tar.gz
# cp dbxmda/libsqlmda.so.4.20 /usr/lib

Luego de esto abrimos el DBDesigner4 nos dirigimos al menú "Database" y damos clic en la opción "Connect to database".


Luego damos clic en el botón "New Database Connect" y aparecerá el editor de conexión, en la ficha general de la siguiente ventana de dialogo agregamos la info necesaria para conectarnos a la DB.


Después nos vamos a la ficha "Advanced" y cambiamos las siguientes opciones por:


GetDriverFunc: getSQLDriverMySQL

Aquí algo curioso es que antes aparecía getSQLDriverMYSQL si se deja así da error hay que cambiar la "Y" mayúscula por la minúscula para que funcione bien.

LibraryName: libsqlmda.so.4.20

Damos Ok y probamos conectarnos con la conexión realizada.

Ya corroborado que la conexión ha tenido éxito, podemos generar nuestro diagrama ER con una base existente o crearla desde cero. Para crear el diagrama de una base de datos ya existente nos dirigimos al menú "Database" y luego elegimos la opción "Reverse Engineering".

"Falto que le pusiera las relaciones pero aun no lo he traveseado muy bien"

Comentarios (3)

Conectando OpenOffice.org con PostgreSQL y MySQL

Muchas veces he querido tener alguna herramienta para poder ver el diagrama Entidad-Relacion de una base de datos y con OpenOffice.org Base he encontrado esa solución.

En cuanto a MySQL existe un pequeño problema pues en cuanto a la integridad referencial no esta muy bien implementada así que la función de vista E-R en OpenOffice.org Base no esta habilitada para esta base de datos. Pero de igual forma se pueden usar sus otras buenas características como lo son los asistentes para generación de vistas, formularios y tablas que es muy buena.

Para usar OpenOffice.org siempre recomiendo el jdk versión 6.0 para la suite. Se debe de agregar los respectivos JAR para PostgreSQL y MySQL.

Para PostgreSQL se puede descargar el driver JDBC en su respectiva sección, al igual como para MySQL.

Ya teniendo los respectivos archivos JAR para cada base de datos lo primero es abrir ya sea Writer o Calc e ir al menú Opciones de este.


Ya estando en las Opciones buscamos la sección "Java" elegimos el JRE de nuestra elección, damos aceptar, cerramos el OpenOffice.org y lo volvemos a abrir para ir de nuevo a opciones y luego la sección java.


Pero esta vez elegiremos de nuevo el JRE que habíamos seleccionado con anterioridad y damos clic en el botón "Class Path".


Aparecerá otra ventana de dialogo donde debemos elegir los JAR que necesitamos haciendo clic en el botón "Agregar archivo", luego de esto cerramos OpenOffice.org y usamos el asistente de conexión del OpenOffice.org Base.

Comentarios (0)

Analisis de viabilidad técnica al estilo del Sr Byte

En palabras del mismo rodrigo, según como se ha desarrollado la novela de SIG es importante saber las razones por que se ha decido trabajar esencialmente con java ya que el fue el delegado del estudio de viabilidad y factibilidad técnica.

El susodicho envió un correo al equipo de desarrollo exponiendo formalmente las razones por la cual no haremos uso de las herramientas privativas.

Claro esta que tengo el permiso del autor para publicarlo.


Señores, fíjense que tenemos un pequeño problema con usar Visual Studio, mas o menos en esto se resume:

Lenguaje de programacion:C# (conocido)
Ide: Visual Studio 2005
Base de datos: SQL Server 2005
Reporteador: Dundas Chart (requiere VS completo y SQL server completo)

Notas adicionales y problemas:
Como dundas chart requiere VS Completo y SQL server completo tambien, estamos en serios problemas al usar esta suite de trabajo. Ademas existe el eterno problema de la conexion remota con SQL server, eso segun las palabras de Roberto: "Nooooo se puede acceder de forma remota", osea, nunca funciona bien. A mi tambien me ha pasado.

Y hay que tomar en cuenta la arquitectura cliente servidor que quiere el Ing. Ayala para el programa. Y finalmente, a al Ing. Ayala le pusimos que trabajariamos en .NET

Ventajas:
Si todos usamos las aplicaciones completas, probablemente no haya problema. Y si alguien se da riata para solucionar el problema de la conexion remota con el SQL Server, entonces no hay mayor dificultad.

La otra opcion:

Lenguaje de programación: Java (como C#)
Ide: NetBeans
Base de datos: MySQL
Reporteador: iReport

Notas adicionales y problemas:
Falta de experiencia en el lenguaje y el entorno, hay que dedicarle quizás una semanita para comenzar a trabajar bien. Se siente al principio, algo lento. Y tendríamos que avisarle INMEDIATAMENTE al Ing. Ayala que vamos a usar Java.

Ventajas:
Todo se integra de lo lindo con NetBeans. TODO TODO TODO. MySQL, iReport, SVN, TODOOOO. Podes trabajar en linux y en windows y el estilo de programación seria OpenRanger (a que funcione).

Pensemos bien como vamos a trabajar, usar todo lo de Microsoft implica el uso de las suites COMPLETAS (SQL Server 2005 COMPLETO y Visual Studio 2005 COMPLETO (C#) por el Dundas Chart), y no quisiera que nos complicáramos usando SQL server... que para mi APESTA, pero es por traumas personales.
Roberto recomienda que trabajemos en Java (JaJaJa) dice que si no nos salen las cosas, el nos va ayudar (JAJAJA, no en serio, xD)
Quiero saber que es lo que piensan ...

¿Que pienso?

Definitivamente fantástico nada mas que decir.

Comentarios (1)opiniones, ¿cual es la tuya?

Java se impone por su peso

Después de esperar el exhaustivo análisis técnico de rodrigo sobre la viabilidad de usar primordialmente herramientas privativas, para desarrollar el sistema para la materia de Sistemas de Informacion Gerencial.

Los aspectos que menciono rodrigo de lo cual no es factible usar las herramientas en que se habían acordado son:
  • El dundas chart necesita de el Visual Studio completo, cosa que nos rehusamos rotundamente, por que no lo necesitamos completo.
  • También es necesita del Microsoft SQL 2005 completo, y según como dice rodrigo, no se con quien siempre tuvieron pedo que no pudieron abrirle las piernas para administrarlo remotamente.
Se concluyo que la mejor combinación sera Java, Netbeans, MySQL e iReport. Creo que este si sera un reto para el demás majada del equipo de trabajo para que logren liberarse de las ataduras que Microsoft nos ha impuesto con sus tecnologías, y sus ojos al fin se iluminen sobre la luz de las herramientas libres.

Comentarios (0)

He sucumbido ante Microsoft

Hoy con el equipo de trabajo de SIG se decidió en conciliación trabajar con .NET, SQL Server Express y Dundas Chart para gráficar que nos dijo ramayac, lo único rescatable es que usaremos C#.


Mi deseo era programar en Java, Netbeans, MySQL e iReport, pero en definitivas cuentas quiero sacar las uñas para la materia y para llevar a cabo el objetivo se necesita de facilitar las tareas de desarrollo entre los miembros del equipo de trabajo, creo que la decisión que se tomo al final es la mejor.

Las explicaciones del por que las herramientas a usar:
  • Es mas fácil.
  • La mayoría tiene experiencia trabajando con ello.
  • Comodismo.
Ni modo volveré a las raíces con la cual Microsoft me ha educado desde el principio, creo que para desarrollar aplicaciones para la U la única alternativa libre aceptable es php y a veces MySQL. Supongo que la única forma para desarrollar con las herramientas que quiero es irme solo pero es una pendejada pensar eso, ya que soy un ente social y debo aprender a llegar a buenos acuerdos con los compas para que el resultado sea un éxito, es parte de mi crecimiento profesional.


Así que a instalar windows again se ha dicho...!!!

Comentarios (6)

Abriendole las piernas al MySQL, para administrar en remoto

Cuando necesitamos trabajar en equipo es necesario centralizar ciertas cosas, así como el gestor de base de datos para que todos podamos trabajar con la misma información.


Entonces requiere configurarlo para los mismos fines, ya había explicado antes como hacerlo con instalar y configurar PostgreSQL, ahora sera el caso con MySQL 5 también para Debian, y lo haré a la forma simple con el MySQL Administrator que se puede descargar en dev.mysql.com o también desde el mismo repositorio de debian.

Antes que nada necesitamos instalar el MySQL Server, el MySQL Query para realizar consultas SQL y el MySQL Administrator como herramientas administrativa gráfica.

# apt-get install mysql-server-5.0 mysql-admin mysql-query-browser

Para dar acceso en remoto debemos editar un archivo de configuración llamado my.cnf

# nano /etc/mysql/my.cnf

Hay que buscar la linea que diga

bind-address = 127.0.0.1

Y se comenta poniendo el simbolo "#" al principio de esta que debe quedar asi

# bind-address = 127.0.0.1

Guardamos el archivo y reiniciamos el servicio de mysql

# /etc/init.d/mysql restart

Luego de esto ingresamos al mysql-admin para asignar contraseña al usuario root, dejamos como nombre Username root en el login y el Password en blanco, ya que no hay asignado ningun password.


Nos vamos a la opción User Administration y desde alli podemos cambiarle el password al usuario root y a la vez poder crear otro, para que los cambios tengan efecto basta con dar clic en el boton Apply Changes.


Ahora debemos crear otro usuario con el cual accederemos en remoto, esto se hace siempre en User Administration y se da clic en el boton New User, alli la creacion es intuitiva. En mi caso yo cree un usuario llamado debmysql y le asigne su respectivo password. Ahora bien hay que dar permisos a este usuario para poderse conectar en remoto, para ello se hace clic en el usuario creado en la parte inferior izquierda habiendo ya seleccionado previamente la opcion User Administration.


Ahora hay que asignarle esto esto se hace dando clic derecho en este usuario y seleccionar la opcion Add Host


Se selecciona Hostname o Ip y el simbolo "%" se usa para definir que sea cualquier numero en el rango de 0 a 255, también al finalizar esto ay que darle Apply Changes.

Y ya estamos listos para poder administrar nuestro servidor MySQL en forma remota en nuestra LAN.

Comentarios (5)