Creamos una aplicación java que utiliza la base de datos JavaDB en Netbeans IDE. Queremos que el programa verifique cada vez que se inicia si las tablas de la base de datos ya han sido creadas y, de lo contrario, créelas. ¿Cómo hacemos eso? Gracias JavaDB - Comprobando si existe una base de datos
6
A
Respuesta
6
que utilizo:
DatabaseMetaData metas;
ResultSet tables;
Statement stat;
m_connexion = DriverManager.getConnection("jdbc:derby:mybase;create=true");
metas = m_connexion.getMetaData();
stat = m_connexion.createStatement();
tables = metas.getTables(m_connexion.getCatalog(), null, "MYTABLE", null);
if (!tables.next())
stat.execute(
"CREATE TABLE APP.MYTABLE (" // etc.
... y es un trabajo para mí.
0
La prueba de Istao para la existencia de una tabla no funcionó para mí con Derby. La tabla nunca se encontró aunque se haya creado previamente. Lo que falta es especificar el TABLE_SCHEM como "APP", luego establecer el tipo de tabla para incluir "TABLE". Tal vez usar null funcionó en versiones anteriores, pero al usar Derby 10.12 no se encuentra una tabla creada previamente con estos parámetros establecidos en nulo.
Connection conn = DriverManager.getConnection(DB_PROTO + DB_NAME + ";create=true");
DatabaseMetaData metas = conn.getMetaData();
ResultSet tables = metas.getTables(conn.getCatalog(), "APP", TABLE_NODES, new String[] {"TABLE"});
if (!tables.next()) {
Statement stat = conn.createStatement();
stat.execute("create table " + ...
Espero que esto ayude a alguien más.
Cuestiones relacionadas
- 1. Comprobando si existe una columna en una base de datos de aplicación en Android
- 2. Comprobando si existe una clave de registro
- 3. Comprobando si el usuario de mysql existe
- 4. Comprobando si existe una URL o no
- 5. Comprobando si existe la propiedad
- 6. Verifique si existe una ID en una base de datos
- 7. CodeIgniter - Comprobando si ya existe un valor en la base de datos
- 8. Comprobando si la base de datos está restaurando el estado
- 9. Compruebe si existe una base de datos antes de crear
- 10. Objective-C - Comprobando si existe URL
- 11. comprobando si existe o no un paquete
- 12. jQuery: Comprobando si existe el siguiente elemento
- 13. Python Lxml (objectify): Comprobando si existe una etiqueta
- 14. DBI: Conectarse a una base de datos diferente si la primera base de datos no existe
- 15. Comprobando si existe una fecha o no en Java
- 16. Comprobando si existe una ID en los recursos (R.id.something)
- 17. Comprobando si existe una imagen en el paquete - iPhone
- 18. Comprobando si existe un valor en una lista Redis
- 19. Android - ¿Existe una base de datos SQLite?
- 20. ¡Pregunta si existe la base de datos de Android!
- 21. Comprobando si una variable es del tipo de datos double
- 22. Php mysql crear base de datos si no existe
- 23. SSRS - Comprobando si los datos son nulos
- 24. Comprueba si existe una base de datos (MySQL) y si no la creas en PHP
- 25. Comprobando si la entidad existe en el almacén de datos del motor de la aplicación google.
- 26. Comprobando la existencia y si existe, hay un cierto valor
- 27. ¿Cómo verificar si existe una tabla o una columna en una base de datos?
- 28. comprobando si el archivo existe en un directorio específico
- 29. Comprobando si un elemento ya existe en un JComboBox?
- 30. ¿Cómo puedo verificar si existe una vista en una base de datos?
posible duplicado de [¿Cómo comprobar si existe una base de datos en Hsqldb/Derby?] (Http://stackoverflow.com/questions/3801773/how-to-check-if-a-database-exists-in-hsqldb -derby) – Raedwald
La respuesta de garlicman es correcta, solo agrego que la búsqueda de la tabla debe hacerse en mayúsculas porque a pesar de haber creado tu tabla en minúsculas, los metadatos están en mayúsculas –