Дерби работает только с использованием встроенного драйвера
Я пытаюсь подключиться к запущенной базе данных Derby из приложения весенней загрузки, но каждый раз, когда я запускаю свое приложение, я вижу, что встроенная база данных запускается вместо подключения к существующей. Я уверен, что моя база данных Derby работает с java -jar $DERBY_HOME/lib/derbyrun.jar server start
выполняется без ошибок, и я могу подключиться от терминала к базе данных (используя ij> connect 'jdbc:derby://localhost:1527/wrtschatz-db;'
).
Я автопроводка jdbcTemplate
@Component
public class LessonItemsRetriever {
@Autowired
JdbcTemplate jdbcTemplate;
// methods doing jdbcTemplate.query(...)
}
И я ожидаю, что это создаст источник данных из моего application.yml
spring.datasource:
url: jdbc:derby://localhost:1527/wortschatz-db
username: ""
password: ""
driverClassName: org.apache.derby.jdbc.ClientDriver
Но на самом деле это логирование 2017-05-14 11:10:36.698 INFO 6418 --- [ main] o.s.j.d.e.EmbeddedDatabaseFactory : Starting embedded database: url='jdbc:derby:memory:testdb;create=true', username='sa'
что, конечно, приводит Schema 'SA' does not exist; nested exception is java.sql.SQLSyntaxErrorException: Schema 'SA' does not exist
когда я пытаюсь выполнить свои запросы.
Чего мне не хватает в моей конфигурации?
1 ответ
Хорошо, я вернулся к своему проекту, и я могу сказать, что он использовал неправильную зависимость. Я использовал встроенный дерби, пока мне нужен клиент для подключения к внешней базе дерби. В моем build.gradle правильная зависимость:
compile("org.apache.derby:derbyclient:10.13.1.1")