Stworzyliśmy aplikację java, która korzysta z bazy danych JavaDB w IDE Netbeans. Chcemy, aby program sprawdzał przy każdym uruchomieniu, czy tabele bazy danych zostały już utworzone, i w przeciwnym razie je utworzy. Jak to robimy? thanxJavaDB - Sprawdzanie, czy istnieje baza danych
6
A
Odpowiedz
6
używam:
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.
... i to jest praca dla mnie.
0
Test Istao na istnienie stołu nie zadziałał dla mnie z Derby. Stół nigdy nie został znaleziony, mimo że został wcześniej utworzony. Czego brakuje, musisz określić TABLE_SCHEM jako "APP", a następnie ustawić typ tabeli na "TABLE". Być może używanie null działało w poprzednich wersjach, ale używanie Derby 10.12 nie znajduje poprzednio utworzonej tabeli z tymi parametrami ustawionymi na null.
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 " + ...
Mam nadzieję, że to pomoże komuś innemu.
Powiązane problemy
- 1. Sprawdzanie, czy baza danych przy przywracaniu stanu
- 2. EF7 - Jak sprawdzić, czy baza danych istnieje?
- 3. Zapytanie, czy baza danych Androida istnieje!
- 4. Android - czy istnieje baza danych SQLite?
- 5. Jak sprawdzić, czy istnieje baza danych mysql?
- 6. Sprawdzanie, czy kolumna istnieje w czytniku danych
- 7. Jak sprawdzić, czy baza danych istnieje w SQL Server?
- 8. Czy istnieje publiczna baza danych czatu dla AI?
- 9. Czy istnieje baza danych Entity Framework 7 - pierwszy generator POCO?
- 10. Sprawdzanie, czy istnieje użytkownik mysql
- 11. Czy istnieje polecenie sprawdzenia, czy istnieje baza danych z Entity Framework?
- 12. Baza danych - wersja danych
- 13. Wykrywanie, czy zainstalowana jest baza danych Oracle
- 14. VimL: Sprawdzanie, czy funkcja istnieje
- 15. Sprawdzanie, czy istnieje zagnieżdżony atrybut
- 16. Sprawdzanie, czy element tablicy [] istnieje
- 17. Sprawdzanie, czy istnieje plik zasobów
- 18. Jak przechowywać enum Java w JavaDB?
- 19. ViewPager i baza danych
- 20. Sprawdzanie, czy login SQL Server już istnieje
- 21. Sprawdzanie, czy adres URL istnieje, czy nie
- 22. Sprawdzanie czy element istnieje w json
- 23. Baza danych bazy danych Codeigniter
- 24. Która baza danych wykresów
- 25. Baza danych obiektów Eloquera
- 26. Baza danych wykresów w ruby?
- 27. Baza danych obiektów otwartych?
- 28. Samodzielna baza danych
- 29. Baza danych lokalnego magazynu
- 30. Nazwa "Baza danych" nie istnieje w bieżącym kontekście?
możliwy duplikat [Jak sprawdzić, czy baza danych istnieje w Hsqldb/Derby?] (Http://stackoverflow.com/questions/3801773/how-to-check-if-a-database-exists-in-hsqldb -derby) – Raedwald
Odpowiedź czosnku jest poprawna, tylko dodam, że wyszukiwanie w tabeli musi być pisane wielkimi literami, ponieważ pomimo tego, że utworzono tabelę małymi literami, metadane są pisane wielkimi literami –