Esquemas de bases de datos desde jython

Chema Cortes pych3m4 en gmail.com
Mie Abr 16 14:30:55 CEST 2008


Me he creado un script en jython para automatizar el paso de datos
entre bases de datos de diferentes sistemas. De momento, los estoy
empleando para automatizar el traspaso de datos desde informix a
postgresql, con creación de tablas y claves primarias incluído, y
funciona bastante bien.

El script emplea las extensiones del módulo zxJDBC para acceder a la
metainformación java sobre los objetos de la base de datos, algo
bastante cómodo ya que no te obliga a alejarte demasiado de la
db-api2.

Quisiera ahora "generalizar" el script para que sirva para otras bases
de datos; pero me estoy encontrando con bastantes dificultades. Al no
seguir completamente los estándares SQL, la metainformación que estoy
obteniendo de otros SBDBs es insuficiente.

Por ejemplo, en mysql se presentan los schemas como catálogos, algo
que supongo se debe a temas de compatibilidad con otras versiones de
mysql. En concreto, no me permite listar todos los esquemas de una
base de datos mediante las extensiones de zxJDBC, por lo que tengo que
recurrir al "information_schema" para obtener los esquemas del
"schemata".

Me obliga a especializar código según el SGDB que se use, algo que
quería evitar. En estos momentos, con el paso de informix a postgresql
me sobra, sólo usando db-api y las facilidades del zxJDBC.


Mi pregunta:

¿Hay alguna forma "genérica" de obtener las definiciones completas de
las tablas de una base de datos? (columnas, claves primarias, claves
externas, restricciones,...)

¿Existe alguna librería en java que pueda usarse en jython para esta tarea?
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es