2015-04-28 3 views
0

В H2 есть два способа создать новую базу данных в памяти. Во-первых, вы явно создаете базу данных с помощью инструкции CREATE DATABASE .. SQL. В другом случае, если вы попытаетесь подключиться к несуществующей базе данных, H2 просто создаст ее. Я выбрал первый путь, потому что, если я не получу какую-то ошибку, как я знаю, чтобы создать единую таблицу (всего два столбца).Создание нового сервера H2 программно

Проблема в том, что H2 не нравится он SQL, который я использую, и помещает ошибку. Это SQL заявление:

String sql = "CREATE DATABASE Tickets, " + USER + ", " + PASS; 

бросает это исключение:

org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement "CREATE DATABASE[*] TICKETS, USERNAME, PASSWORD "; expected "OR, FORCE, VIEW, ALIAS, SEQUENCE, USER, TRIGGER, ROLE, SCHEMA, CONSTANT, DOMAIN, TYPE, DATATYPE, AGGREGATE, LINKED, MEMORY, CACHED, LOCAL, GLOBAL, TEMP, TEMPORARY, TABLE, PRIMARY, UNIQUE, HASH, SPATIAL, INDEX"; SQL statement: 

Любая идея о том, что происходит в выше? Или, можете ли вы рассказать мне, как я могу сказать, что БД было создано автоматически, чтобы я мог приступить к созданию таблицы?

+0

Можете ли вы показать мне пример первого? (Извините, глупый вопрос, который я знаю, но я его никогда не видел) – MadProgrammer

+1

Вы можете сказать H2, чтобы выдать ошибку, если база данных не существует при подключении: http://www.h2database.com/html/features.html# database_only_if_exists И, конечно, вы получаете сообщение об ошибке 'create database'. Проверьте руководство: http://www.h2database.com/html/grammar.html нет такого утверждения. Где в руководстве H2 вы нашли это? –

ответ

1

Я не верю, что вы правы, когда вы предлагаете, что вы можете создать базу данных с помощью SQL H2 - Я думаю, что это ваш основной вопрос ...

Просто подключиться к БД (и это JDBC URL, который определяет используемую базу данных), и если вы не получите исключения, продолжайте и используйте его. (Создайте свой стол и т. Д.)

Смежные вопросы