Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/01/2012, 13:04
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 17 años, 1 mes
Puntos: 260
Sonrisa 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:
Ver original
  1. SELECT * FROM sysobjects WHERE name LIKE '%NOMBRE%'
Eso te devuelve los objetos del motor que tengan ese NOMBRE, incluyendo bases de datos, tablas, etc.
Seguidamente si ese ResultSet no devuelve nada entonces puedes crearla:
Código SQL:
Ver original
  1. CREATE DATABASE NOMBRE
En MySQL existen opciones específicas:
Código SQL:
Ver original
  1. CREATE DATABASE IF NOT exist NOMBRE
Y de allí en adelante crear las tablas, indices, vistas, etc.
Código SQL:
Ver original
  1. CREATE TABLE NOMBRE.TABLA (id INT, DATA VARCHAR(80))
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.

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