Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / соединение с JavaDB из intellij idea / 7 сообщений из 7, страница 1 из 1
22.04.2014, 10:19
    #38621145
mr_virtus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
соединение с JavaDB из intellij idea
Всем привет.
Хочу подключиться к JavaDB(Derby) из Intellij idea

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
package Server;

import java.sql.*;

public class DB {
    static String url = "jdbc:postgresql:COREJAVA";
    public static void main(String args[])
    {
        try
        {
            runDB();
        }
        catch (SQLException ex)
        {
            for (Throwable t : ex)
                t.printStackTrace();
        }
    }
    public static void runDB() throws SQLException
    {
        try (Connection conn = getConnection())
        {
            Statement stat = conn.createStatement();
            stat.executeUpdate("CREATE TABLE Greetings (Message CHAR(20))");
            stat.executeUpdate("INSERT INTO Greetings VALUES ('Hello, World!')");
            try (ResultSet result = stat.executeQuery("SELECT * FROM Greetings"))
            {
                if (result.next())
                    System.out.println(result.getString(1));
            }
            stat.executeUpdate("DROP TABLE Greetings");
        }
    }

    public static Connection getConnection() throws SQLException
    {
        try
        {
            Class.forName("jdbc:postgresql");
        }
        catch (Exception e){};
        Connection conn = DriverManager.getConnection(url);
        return conn;
    }
}



Ошибка:

авторjava.sql.SQLException: No suitable driver found for jdbc:postgresql:COREJAVA
at java.sql.DriverManager.getConnection(DriverManager.java:596)
at java.sql.DriverManager.getConnection(DriverManager.java:233)
at Server.DB.getConnection(DB.java:42)
at Server.DB.runDB(DB.java:21)
at Server.DB.main(DB.java:11)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

Process finished with exit code 0

Как зарегистрировать драйвер, чтоб можно было работать с БД?

Спасибо.
...
Рейтинг: 0 / 0
22.04.2014, 10:29
    #38621158
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
соединение с JavaDB из intellij idea
mr_virtusХочу подключиться к JavaDB(Derby) из Intellij idea

Для подключения "из Intellij idea" есть специальная панель Data Sources.
А вы просто пишете код для подключения к БД. Это не одно и то же.

Код: java
1.
    static String url = "jdbc:postgresql:COREJAVA";


postgresql это теперь derby?
Код: java
1.
2.
3.
4.
       
catch (SQLException ex){
            for (Throwable t : ex) t.printStackTrace();
}


Really???

Код: java
1.
Class.forName("jdbc:postgresql");


Интересное имя для класса. Мне уже любопытно что вы использовали в качестве примера.

mr_virtusОшибка:
java.sql.SQLException: No suitable driver found for jdbc:postgresql:COREJAVA

Ожидаемо.

mr_virtusКак зарегистрировать драйвер, чтоб можно было работать с БД?

Код: java
1.
Class.forName("Здесь имя класса, а не ту фигню что у вас")


А так же
RTFMAny JDBC 4.0 drivers that are found in your class path are automatically loaded. (However, you must manually load any drivers prior to JDBC 4.0 with the method Class.forName.)
...
Рейтинг: 0 / 0
22.04.2014, 10:42
    #38621176
mr_virtus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
соединение с JavaDB из intellij idea
Blazkowicz,
Спасибо. Я написал так:

Код: java
1.
2.
3.
static String url = "jdbc:org.apache.derby.jdbc.EmbeddedDriver:COREJAVA";

Class.forName("org.apache.derby.jdbc.EmbeddedDriver");



тоже самое.
...
Рейтинг: 0 / 0
22.04.2014, 10:47
    #38621179
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
соединение с JavaDB из intellij idea
facepalm
http://docs.oracle.com/javadb/10.6.1.0/ref/rrefjdbc32052.html
Кто вам сказал что connection string и имя класса должны совпадать?

Любой внятный пример прочитайте
http://www.oracle.com/technetwork/articles/javase/javadb-141163.html
http://www.vogella.com/tutorials/ApacheDerby/article.html
в JavaDoc иногда тоже заглядывайте

Методом тыка вы будете ещё долго учиться.
...
Рейтинг: 0 / 0
22.04.2014, 10:57
    #38621198
mr_virtus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
соединение с JavaDB из intellij idea
Blazkowicz,

Спасибо, буду читать.
...
Рейтинг: 0 / 0
22.04.2014, 23:56
    #38622312
eJack
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
соединение с JavaDB из intellij idea
mr_virtus,

Tutorial на русском (правда там mysql - но сути не меняет тынц
...
Рейтинг: 0 / 0
24.04.2014, 14:44
    #38624687
mr_virtus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
соединение с JavaDB из intellij idea
eJack,

Всем спасибо, заработало!

Нужно было подключить .jar файлы derby в ide.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / соединение с JavaDB из intellij idea / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]