Hola,
me preguntaba si hay alguna manera de comprobar si existe una base de datos desde dentro de un programa en java??y que si no esta creada, la crees cuando ejecutas el programa.
Gracias
Saludos
| ||||
Respuesta: existencia base de datos Creo que SQlite puede realizar lo que necesitas, te sugería leer la documentación. Ya que este es cero configuración y se maneja "casi" como un archivo de texto. Su pongo que debe de haber otros mecanismos para realizar el efecto necesitado y me gustaría a mi también saber como es la codificación.
__________________ % El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla. % |
| ||||
Respuesta: existencia base de datos Hola, Habría que aclarar que significa 'base de datos', suponiendo que sea un 'schema' o 'database' en términos de SQL entonces podrías usar lenguaje DDL y los catálogos de metadatos. Por ejemplo en Microsoft SQL Server:
Código SQL:
Eso te devuelve los objetos del motor que tengan ese NOMBRE, incluyendo bases de datos, tablas, etc.Ver original Seguidamente si ese ResultSet no devuelve nada entonces puedes crearla:
Código SQL:
En MySQL existen opciones específicas:Ver original
Código SQL:
Y de allí en adelante crear las tablas, indices, vistas, etc.Ver original
Código SQL:
Todos los motores de base de datos como MySQL, Oracle, PostgreSQL, etc., tienen un mecanismo para consultar la metadata (los objetos que existen en la base de datos) y para crearlos si no existen (lenguaje DDL y SQL). Para consultar usas los Resultset de java y para ejecutar usas un preparedStatement o callableStatement como cualquier otra instrucción SQL.Ver original Con lo que seguramente vas a pelear un rato va a ser con los permisos, en Microsoft SQL Server existen los procedimientos almacenados extendidos que facilitan esos procedimientos, mientras que otros motores son mas complicados. Busca información sobre 'sql metadata catalog' y 'DDL Language' en el motor de base de datos que estés usando. Si lo que deseas es saber si una base de datos está instalada y sino instalarla o algo parecido usa SQLite como indica CapacProg o busca información sobre 'embedded database'. Saludos, Última edición por HackmanC; 13/01/2012 a las 13:19 Razón: es language en inglés |
Etiquetas: |