2013-06-22 2 views
0

Я использую встроенную базу данных для запуска своих тестовых примеров, а фаза тестирования maven. Я полагаю, что Spring должен запускать сервер HSQLDB. Правильно ли мое предположение?Как подключиться к hsqldb, который создается через весну

<jdbc:embedded-database id="dataSource" type="HSQL"> 
    <jdbc:script location="classpath:schema.sql"/> 
    <jdbc:script location="classpath:data.sql"/> 
</jdbc:embedded-database> 

Как я могу просмотреть схему/таблицу, созданную в hsqldb, используя вышеупомянутый скрипт? Я попытался подключиться через DBVisulaizer, но я не вижу там таблиц.

+0

Это сообщение может помочь: http://stackoverflow.com/questions/591518/how-to-see-all-the-tables-in-an-hsqldb-database –

ответ

1

URL-адрес jdbc:embedded-database подключается к базе данных в рабочей памяти, а не к серверу.

Вам необходимо запустить сервер отдельно (отдельный процесс), который выходит из базы данных в памяти. Вы можете найти информацию о том, как это сделать в руководстве HSQLDB.

http://www.hsqldb.org/doc/2.0/guide/listeners-chapt.html

Вы, чем использовать обычный URL соединения, такие как jdbc:hsqldb:hsql://localhost/test в Spring для подключения к серверу. Вы также можете подключиться к серверу с помощью DbVisualiser, используя тот же URL.

+0

Спасибо. Это помогает. Даже я заметил, что hsqld db имеет клиента в. \ Hsqldb \ bin \ runManagerSwing.bat. Это также помогает подключиться к db. – Pankaj

+0

hsqldb также может быть зарегистрирован на основе, используйте jdbc: hsqldb: file: [путь к db] в качестве строки подключения – jorrebor

+0

Обратите внимание, что для запуска HSQLDB в режиме сервера (который позволяет подключаться от внешних клиентов), его не нужно запускать в отдельном процессе. Вы можете внедрить его в свое приложение, создав экземпляр объекта org.hsqldb.server.Server. – pacoverflow