Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java tools & IDE's > derby


Автор: cube 4.7.2009, 14:38
Я использую embedded драйвер и подключаюсь к базе derbyDB в програме, создаю таблицы и фигачу туда данные, когда хочу посмотреть их через редактор нетбинса не могу подключиться к базе derbyDB почему?

Автор: Vasay 4.7.2009, 14:58
cube

Как вы подключались к базе из вашей программы? 

Автор: cube 4.7.2009, 17:31
Цитата(Vasay @ 4.7.2009,  14:58)
cube

Как вы подключались к базе из вашей программы?

вот так 

Код

      String driver = "org.apache.derby.jdbc.EmbeddedDriver";
      Class.forName(driver).newInstance(); 
      String protocol = "jdbc:derby:"; 
      Connection conn = DriverManager.getConnection(protocol + "derbyDB;create=true", username, password);


библиотеку беру и использую вот такую
C:\Documents and Settings\111\Мои документы\NetBeansProjects\derby\lib\derby.jar


в нетбинсе путь к драйверу JavaDB(derby) Embedded вот такой C:\Documents and Settings\111\Мои документы\NetBeansProjects\derby\lib\derby.jar (в настройках подключения теже юзернейм и пароль что и в программе)

(derby находится у меня в каталоге C:\Documents and Settings\111\Мои документы\NetBeansProjects\derby\)

Автор: Vasay 4.7.2009, 17:43
cube

Возможная проблема - пути с русскими символами - "Мои документы" 

Так же рекомендую поэкспериментировать с явным указанием расположения db: http://wiki.apache.org/db-derby/DatabaseNamesRelativeAbsolute


Автор: cube 4.7.2009, 18:10
Цитата(Vasay @ 4.7.2009,  17:43)
cube

Возможная проблема - пути с русскими символами - "Мои документы" 

Так же рекомендую поэкспериментировать с явным указанием расположения db: http://wiki.apache.org/db-derby/DatabaseNamesRelativeAbsolute

теперь я подключаюсь и без проблем но почему-то каталог Tables - пуст (это через нетбинс), а из программы я спокойно подключаюсь к своей таблице и получаю от туда данные, в принципе работать конечно можно, но я визуально хочу видеть данные, а так же управлять DB

Автор: powerOn 4.7.2009, 20:55
Цитата(cube @  4.7.2009,  19:10 Найти цитируемый пост)
теперь я подключаюсь и без проблем но почему-то каталог Tables - пуст (это через нетбинс), а из программы я спокойно подключаюсь к своей таблице и получаю от туда данные, в принципе работать конечно можно, но я визуально хочу видеть данные, а так же управлять DB 


Думаю, что просто NetBeans подключился не к той схеме в базе.  Задай её явно, ну или используй NetBeans 6.7 он сразу все схемы отображает в дереве навигации по БД.

Автор: cube 5.7.2009, 14:03
Цитата(powerOn @ 4.7.2009,  20:55)
Цитата(cube @  4.7.2009,  19:10 Найти цитируемый пост)
теперь я подключаюсь и без проблем но почему-то каталог Tables - пуст (это через нетбинс), а из программы я спокойно подключаюсь к своей таблице и получаю от туда данные, в принципе работать конечно можно, но я визуально хочу видеть данные, а так же управлять DB 


Думаю, что просто NetBeans подключился не к той схеме в базе.  Задай её явно, ну или используй NetBeans 6.7 он сразу все схемы отображает в дереве навигации по БД.

Что касается схем и всего подобного, мне кажется дело не в этом... объясню

Когда я запускаю проект (derbytest - так я его назвал), в каталоге этого проекта создаються файлы базы данных и помещаться в специальную папку derbyDB (я так понимаю из-за embedded использования), сама база данных лежит отдельно в другой папке.... теперь когда я подключаюсь из другой любой программы я использую файл derby.jar в качестве библиотки для embedded подключения, конечно она на увидит эту базу, и эти файлы (имееться ввиду файлы проекта derbytest/derbyDB) - и помоему это разумно, но тогда вопрос как настроить проект и нетбинс чтобы можно было работать с такой базой и ее таблицами и через графический интерфейс тоже?

Автор: powerOn 5.7.2009, 14:20
Цитата(cube @  5.7.2009,  15:03 Найти цитируемый пост)
Когда я запускаю проект (derbytest - так я его назвал), в каталоге этого проекта создаються файлы базы данных и помещаться в специальную папку derbyDB (я так понимаю из-за embedded использования), сама база данных лежит отдельно в другой папке....


не совсем понятно, что имеется ввиду под "сама база данных лежит отдельно в другой папке....". Например: работая в embedded режиме можно создать новую БД в папке C:/testdb путем подключения с таким url: jdbc:derby:C:/testdb;create=true; Тогда база и со всеми её файлами будет находится в папке C:/testdb. Из NetBeans к такой базе можно подключиться по тому же url, но необязательно указывать create=true;
Важным моментом является то, что в embedded режиме возможно создать только одно соединение с базой. Т.е. одновременно из IDE и программы подключиться не получится.

Автор: Vasay 5.7.2009, 14:24
cube

Идем в NetBeans (верно для 6.5) на вкладку Services, кликаем правой кнопкой на Databases, выбираем New Connection, ставим галочку Direct URL Entry, Выбираеи Java DB Embeddet, и пишем в JDBC URL что-то типа:

Код

jdbc:derby:Путь к папке с программой/derbyDB;user=****;password=****


Вместо derbyDB, может быть и другое название (я написал так, потому что Вы сказали: "в каталоге этого проекта создаються файлы базы данных и помещаться в специальную папку derbyDB") 

Жмем ОК. Если все нормально NetBeans предлагает выбрать схему. Если выбрали схему правильно - то таблицы будут видны. Только что проверил - работает.

Добавлено @ 14:26
Цитата

Важным моментом является то, что в embedded режиме возможно создать только одно соединение с базой. Т.е. одновременно из IDE и программы подключиться не получится.


В данном случае NetBeans при попытке подключения даст развернутый ответ, почему он не может подключиться. 

Автор: cube 5.7.2009, 21:28
спасибо вам обоим ;) вопрос решен! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)