Tworzę bazę danych H2 w moich testach jednostkowych. Baza wykorzystuje następujące właściwości:Nie można przeglądać pliku bazy danych H2?
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="org.h2.Driver"/>
<property name="url" value="jdbc:h2:file:target/db/testdb"/>
<property name="username" value="sa"/>
<property name="password" value=""/>
</bean>
używam wersji 1.3.166 pliku com.h2database.h2
słoiku.
Po uruchomieniu testów widzę bazę danych utworzoną w katalogu target/db
i istnieje plik testdb.h2.db
. Moje testy działają i ładują dane z bazy danych. Mogę otworzyć plik target/db/testdb.h2.db
i zobaczyć instrukcje SQL, których użyłem do utworzenia bazy danych.
Jednak, gdy próbuję załadować plik target/db/testsb.h2.db
do narzędzia do przeglądania bazy danych, takiego jak DBVisualizer, nie widzę żadnych tabel ani danych. Dla DBVisualizer określam tryb H2 (osadzony).
Próbowałem również konsoli H2, ale polecenie show tables
zwraca pusty zestaw wyników.
Nie widzę, co robię źle: plik bazy danych istnieje, testy działają poprawnie, ale nie mogę otworzyć tego pliku w przeglądarce bazy danych.
Wszelkie sugestie?
W rzeczywistości problemem było to, jak określiłem plik w DBVisualizer. Poprosił o plik bazy danych i otwiera okno dialogowe wyboru pliku, a ja dwukrotnie kliknąłem plik 'target/db/testdb.h2.db'. Ale właściwą metodą jest usunięcie rozszerzenia '.h2.db'. Zły projekt interfejsu użytkownika IMHO. –
Myślę, że w następnej burmistrzowskiej wersji H2 (2.0 być może) nie będzie żadnego twardego przyrostka nazwy pliku. –
@JohnQCitizen Wygrywasz cały mój internet przez tydzień! To był problem. Korzystałem z migracji baz danych i nie mogłem ustalić, dlaczego tabele nie zostały utworzone. Okazało się, że usunięcie pliku .h2.db rozwiązało problem. Użyj ui fail!I dzięki za rozwiązanie! – Maik