Pomiń schemat w zapytaniu DERBY
Stworzyłem bazę danych o nazwie „movie_db”, ustawiłem domyślny schemat na APP. Następnie utworzono przykładową tabelę o nazwie „USERS”.
Moje połączenie z DB jest następujące:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.apache.derby.jdbc.ClientDriver"/>
<property name="url" value="jdbc:derby://localhost:1527/movie_db"/>
<property name="username" value="root"/>
<property name="password" value="pass"/>
</bean>
Teraz chcę napisać kilka testów i spróbować wykonać następujące zapytanie:
SELECT * FROM USERS;
Co dostaję:
java.sql.SQLSyntaxErrorException: Table/View 'USERS' does not exist.
Kiedy określam dokładnie schemat, którego używam:
SELECT * FROM APP.USERS
wszystko dziala.
Jak mogę pominąć nazwę schematu w zapytaniu?
AKTUALIZACJA: Jak powiedział Bryan, stworzyłem użytkownika o nazwie mojego domyślnego schematu i autoryzuję go za pomocą tego logowania. Jest to najprostszy sposób na pominięcie nazwy schematu w zapytaniu. Ale nadal, jeśli chcę używać wielu schematów, jedynym sposobem jest jawne ustawienie schematu.