2012-03-03 1 views
1

Я новичок, поэтому мне может что-то не хватает, но когда я создаю новую базу дерби в netbeans на окнах, если я укажу имя пользователя и пароль, с тем же именем имени пользователя, но когда я создаю базу данных с именем пользователя в netbeans на mac osx, никакая схема не создается, база данных имеет только схемы по умолчанию, приложение, nullid и т. д., это ошибка или есть настройка для этого поведения? и netbeans и дерби - это новейшая версия. спасибо.netbeans derby, no username-schema, созданный в новой базе данных на mac

ответ

2

Я думаю, вы просто неправильно читаете поведение. Поведение в Windows и Mac идентично. Derby неявно создает схему с именем пользователя «на лету». Но вы также можете явно ссылаться на схемы, полностью определяющие имена таблиц и т. Д., Используя оператор CREATE SCHEMA и т. Д. Возможно, вы просто не используете имя пользователя, которое, по вашему мнению, вы, или вы не смотрите на ту же базу данных что вы думаете, или что-то в этом роде.

Попробуйте сделать свой вопрос более конкретным, разместив точные сценарии того, что вы делаете, например, используя инструмент «ij» на обеих машинах, чтобы мы могли видеть, что вы можете делать по-другому. Я регулярно использую Derby в Windows, Mac и Linux, и я всегда считал, что обработка имени пользователя/schemaname является последовательной.

+0

Привет, большое спасибо за вашу помощь, я сделал немного больше тестов на своем Mac, и я обнаружил, что когда я использую командный инструмент «ij», схема с именем пользователя создается «на лету», однако, если я создаю db в Netbeans, щелкнув правой кнопкой мыши Java DB и выберите «создать базу данных», и я уверен, что я ввел имя пользователя и пароль и подтвердил пароль, но в созданном db я вижу только схемы по умолчанию. прилагается скриншот, вы можете видеть в выделенной строке справа, есть имя пользователя «tom» и предполагаемая схема «TOM», но в списке ниже нет схемы «TOM». – liups

+0

здесь [скриншот] (http://farm8.staticflickr.com/7185/6804726166_82df0bc49f.jpg) – liups

+1

Что, вероятно, происходит, так это то, что вы работаете с двумя разными копиями одной и той же базы данных и получаете себя в замешательстве. Если ваш URL-адрес базы данных Derby указывает относительное (не абсолютное) имя базы данных, и если он также включает create = true, то Derby создаст новую базу данных по отношению к текущему каталогу, а текущий каталог, вероятно, будет отличаться каждый раз при попытке этого. –