Derby Apache - база данных проверки, уже созданная?

Документация конструктора, принимающего емкость, гласит следующее:

Создает очередь LinkedBlockingQue с заданной (фиксированной) емкостью.

blockquote>

Термин fixed подразумевает, что емкость не может быть изменена после создания очереди.

Это видно по объявленной емкости final:

/** The capacity bound, or Integer.MAX_VALUE if none */
private final int capacity;

Если вы хотите увеличить емкость очереди фиксированного размера, вам просто нужно создать новую очередь, или укажите начальную емкость, достаточно большую для ваших нужд.

7
задан Raedwald 2 September 2013 в 15:35
поделиться

3 ответа

Я не знаю ни об одном, кроме немногих работают вокруг, в отличие от MySQL, где у нас есть то средство того, ЕСЛИ СУЩЕСТВУЮТ.

То, что Вы делаете, попытайтесь соединиться с базой данных, если не мог его вероятное не там. И после успешного соединения, можно сделать простой выбор, как ИЗБРАННОЕ количество (*) ОТ TABLE_NAME, чтобы знать, существует ли таблица или нет. Вы были бы в зависимости от исключения. Даже в официальном примере от Sun, я видел подобную работу вокруг.

В Oracle у нас есть таблицы словаря для знания об объектах базы данных. Я сомневаюсь, есть ли у нас что-нибудь как этот в Derby.

[Отредактированный]

Ну, я нашел, что существует способ знать, существует ли таблица. Попробуйте, ВЫБЕРИТЕ имя таблицы ИЗ SYSTABLES. Это для проверки существования таблицы для проверки базы данных, Вы, возможно, должны сделать подобную вещь, объяснил я выше.

10
ответ дан 6 December 2019 в 09:23
поделиться

Adeel, Вы могли также использовать Connection.getMetaData, чтобы возвратить объект DatabaseMetaData, затем использовать getTables, после того как у Вас есть соединение с базой данных, конечно. Это имеет преимущество работы для любой базы данных с драйвером JDBC, стоящим, тот - соль.

Для проверки, если база данных существует при использовании Derby встроенным способом, или сервер находится на той же машине, Вы могли проверить, существует ли папка для базы данных. Немного топорно все же. Я сделал бы, как Adeel предполагает, и попытайтесь соединиться, ловя исключение, если это не там.

8
ответ дан 6 December 2019 в 09:23
поделиться

Я бы предложил получить объект DatabaseMetaData и затем использовать из него метод getTables (null, null, null, new String [] {"TABLE"}), который возвращает ResultSet. Используйте метод next () ResultSet, который возвращает логическое значение, чтобы проверить, существуют ли какие-либо таблицы. Если проверка верна, у вас есть таблицы. Неверно, и база данных пуста.

2
ответ дан 6 December 2019 в 09:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: