Foros del Web » Programación para mayores de 30 ;) » Java »

existencia base de datos

Estas en el tema de existencia base de datos en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 13/01/2012, 09:06
Avatar de godisa  
Fecha de Ingreso: noviembre-2011
Mensajes: 46
Antigüedad: 12 años, 5 meses
Puntos: 1
existencia base de datos

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
  #2 (permalink)  
Antiguo 13/01/2012, 09:11
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 1 mes
Puntos: 71
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.
%
  #3 (permalink)  
Antiguo 13/01/2012, 13:04
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
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

Etiquetas: existencia
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:01.