В 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:
Любая идея о том, что происходит в выше? Или, можете ли вы рассказать мне, как я могу сказать, что БД было создано автоматически, чтобы я мог приступить к созданию таблицы?
Можете ли вы показать мне пример первого? (Извините, глупый вопрос, который я знаю, но я его никогда не видел) – MadProgrammer
Вы можете сказать H2, чтобы выдать ошибку, если база данных не существует при подключении: http://www.h2database.com/html/features.html# database_only_if_exists И, конечно, вы получаете сообщение об ошибке 'create database'. Проверьте руководство: http://www.h2database.com/html/grammar.html нет такого утверждения. Где в руководстве H2 вы нашли это? –