Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не могу вручную подключиться к MSSQL в JSF-приложе 
V
    Опции темы
ZMaximI
Дата 20.8.2007, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 18.5.2004
Где: Украина, г. Харьк ов

Репутация: нет
Всего: -1



Добрый день!

Помогите, пожалуйста, решить проблему:

среда разработки Sun Java Studio Creator 2 - если использовать компоненты для работы с БД, проблем нет, но как подключиться к MSSQL 2005 не используя компоненты ...., ???

использую следующий код подключения:

Код

String db_connection = new String("jdbc:microsoft:sqlserver://bdcn:1433;DatabaseName=student;SelectMethod=Cursor");
DriverManager.registerDriver(new com.microsoft.jdbc.sqlserver.SQLServerDriver());
String user_name = new String("student");
String passw = new String("studo");
dbConnection = DriverManager.getConnection(db_connection,user_name,passw);


ругается, что не нажодит - "com.microsoft.jdbc.sqlserver.SQLServerDriver", нет у него такого драйвера ...
как работает через компоненты - ума не приложу..  smile 

Подскажите, пожалуйста, как написать коннект, как подключить нужный дравер, НО без ODBC ??

Спасибо.


--------------------
<удалено администрацией форума>
PM MAIL WWW ICQ   Вверх
Maksym
Дата 20.8.2007, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

Репутация: 24
Всего: 62



пакет с com.microsoft.jdbc.sqlserver.SQLServerDriver положить в classpath
PM MAIL   Вверх
ZMaximI
Дата 21.8.2007, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 18.5.2004
Где: Украина, г. Харьк ов

Репутация: нет
Всего: -1



я уже куда их только не ложил, результат один и тот же :

"Exception Details: java.lang.NoSuchMethodError 
  dataBase.ConnectionDB.connection_DB()Ljava/sql/Connection;
"


--------------------
<удалено администрацией форума>
PM MAIL WWW ICQ   Вверх
Maksym
Дата 21.8.2007, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

Репутация: 24
Всего: 62



Цитата(ZMaximI @  21.8.2007,  17:48 Найти цитируемый пост)
java.lang.NoSuchMethodError 

о, это уже больше информации... а какая версия у тебя драйвера?
возможно, в твоей версии этого метода и правда нет.. 
1. посмотри, есть ли метод
2. если нет - скачай свежий драйвер

PM MAIL   Вверх
ZMaximI
Дата 21.8.2007, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 18.5.2004
Где: Украина, г. Харьк ов

Репутация: нет
Всего: -1



коннект вроде получается, но, вот насчет "ResultSet rs = prepStmt.executeQuery();"  я очень сомневаюсь.

Код

            String db_connection = new String("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=BeautySalon;SelectMethod=Cursor");
            DriverManager.registerDriver(new com.microsoft.jdbc.sqlserver.SQLServerDriver());
            String user_name = new String("sa");
            String passw = new String("vbhfdthibyf_Max");
            Connection dbConnection = DriverManager.getConnection(db_connection,user_name,passw);
            
            String selectStatement = "SELECT * FROM Users";
            PreparedStatement prepStmt = dbConnection.prepareStatement(selectStatement);
            ResultSet rs = prepStmt.executeQuery();
            prepStmt.close();
            dbConnection.close();


подскажите, пожалуйста, как правильно получить набор данных из определенной таблицы ?
как получить данные из конкретного столбца ? ...

Спасибо.


--------------------
<удалено администрацией форума>
PM MAIL WWW ICQ   Вверх
Zamuta
Дата 21.8.2007, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 18.1.2006

Репутация: 4
Всего: 6



ZMaximI, 
Цитата
подскажите, пожалуйста, как правильно получить набор данных из определенной таблицы ?


После 
Код

ResultSet rs = prepStmt.executeQuery();

Пишем:
Код

type a;
 while(rs.next()){
               a = rs.getType("имя столбца" или int номер столбца);
            }


Подробнее читать это


--------------------
Thank you opensource.
PM MAIL ICQ   Вверх
ZMaximI
Дата 22.8.2007, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 18.5.2004
Где: Украина, г. Харьк ов

Репутация: нет
Всего: -1



СПАСИБО, большое, просто супер ресурс ! 
я примерно так и делаю, но не получается, может действительно проблема в драйвере ... он у меня версии 1.0 - самый первый, а SQL Server 2005. Подскажи, пожалуйста, где можно взять свежий драйвер, просто так будет быстрее ?

Спасибо.


--------------------
<удалено администрацией форума>
PM MAIL WWW ICQ   Вверх
Maksym
Дата 22.8.2007, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

Репутация: 24
Всего: 62



ZMaximI
Последняя стабильная версия 1.1, насколько я вижу. Есть еще 1.2, но это Community Technology Preview.
PM MAIL   Вверх
ZMaximI
Дата 22.8.2007, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 18.5.2004
Где: Украина, г. Харьк ов

Репутация: нет
Всего: -1



HELP!

ПОМОГИТЕ, пожалуйста, я уже в полной растерянности :  smile  smile  smile 

Код

public String connection_DB() 
    {
        String UserName = "";
        String db_connection = null;
        Connection dbConnection = null;
        try
        {
            db_connection = new String("jdbc:sun:sqlserver://localhost;DatabaseName=BeautySalon;SelectMethod=Cursor");
            DriverManager.registerDriver(new com.sun.sql.jdbc.sqlserver.SQLServerDriver());
            String user_name = new String("sa");
            String passw = new String("pass");
            dbConnection = DriverManager.getConnection(db_connection,user_name,passw);
            
            Statement stmt = dbConnection.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT * FROM Users");
            while(rs.next())
            {
                UserName = UserName + "0";
            }
        }
        catch(Exception e)
        {
            e.printStackTrace();
            //UserID = UserID+"NO!";
        }
        return UserName;
    }


конечно глупая проверка на наличие записей .....
получается, что ResultSet пустой, хотя в БД ТОЧНО есть данные....
как их достать, ума не дам


Спасибо.

Добавлено через 1 минуту и 35 секунд
Код

UserName = rs.getString("UserName");


НИЧЕГО не получает


--------------------
<удалено администрацией форума>
PM MAIL WWW ICQ   Вверх
Zamuta
Дата 22.8.2007, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 18.1.2006

Репутация: 4
Всего: 6



ZMaximI, если тебе нужно получить данные из столбца UserName, то делаешь так
Код

public String connection_DB() 
    {
        String UserName = null;
        String db_connection = null;
        Connection dbConnection = null;
        try
        {
            db_connection = new String("jdbc:sun:sqlserver://localhost;DatabaseName=BeautySalon;SelectMethod=Cursor");
            DriverManager.registerDriver(new com.sun.sql.jdbc.sqlserver.SQLServerDriver());
            String user_name = new String("sa");
            String passw = new String("pass");
            dbConnection = DriverManager.getConnection(db_connection,user_name,passw);
            
            Statement stmt = dbConnection.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT `UserName` FROM Users;");
            while(rs.next()) {
                UserName = rs.getString("UserName");
                System.out.println("UserName :" + UserName);
            }
        }
        catch(Exception e)
        {
            e.printStackTrace();
            //UserID = UserID+"NO!";
        }
        return UserName;
    }


Это сообщение отредактировал(а) Zamuta - 22.8.2007, 17:36


--------------------
Thank you opensource.
PM MAIL ICQ   Вверх
hamsterKSU
Дата 22.8.2007, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 401
Регистрация: 20.10.2006
Где: Украина, Херсон

Репутация: 3
Всего: 11



во первых надо исправить твой код
Код

db_connection = new String("jdbc:microsoft:sqlserver://localhost;DatabaseName=BeautySalon;SelectMethod=Cursor");
//вот это и есть загрузка драйвера
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");


Добавлено через 2 минуты и 4 секунды
он ведь работает с MSSQL 2005 надо их драйвер! насколько я понимаю

Добавлено через 2 минуты и 32 секунды
или JDBC-ODBC bridg юзать

Это сообщение отредактировал(а) hamsterKSU - 22.8.2007, 17:48
PM MAIL ICQ   Вверх
ZMaximI
Дата 22.8.2007, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 18.5.2004
Где: Украина, г. Харьк ов

Репутация: нет
Всего: -1



все равно 0
я использую драйвер, который был в среде разработки, он точно работает, т.к. через компоненты Creator'а к базе подключаюсь, но мне нужно вручную это делать.

самое обидное, никаких ругательств, типа все ок ..


--------------------
<удалено администрацией форума>
PM MAIL WWW ICQ   Вверх
hamsterKSU
Дата 22.8.2007, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 401
Регистрация: 20.10.2006
Где: Украина, Херсон

Репутация: 3
Всего: 11



если у тебя DriverManager.getConnection не выкинул exception то знач точно нормально все. знач грабли в запросе.

PM MAIL ICQ   Вверх
ZMaximI
Дата 22.8.2007, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 18.5.2004
Где: Украина, г. Харьк ов

Репутация: нет
Всего: -1



ты понимаешь, я специально допускаю ошибку в "db_connection = new String("jdbc:microsoft:sqlserver://localhost;DatabaseName=BeautySalon;SelectMethod=Cursor");
"
и все равно не ругается

Добавлено через 46 секунд
пишу не localhost, а l_calhost, например


--------------------
<удалено администрацией форума>
PM MAIL WWW ICQ   Вверх
hamsterKSU
Дата 23.8.2007, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 401
Регистрация: 20.10.2006
Где: Украина, Херсон

Репутация: 3
Всего: 11



поставь DriverManager.setLogStream(System.out); тогда ты увидишь какой драйвер он загрузил и каким драйвером пытается открыть соединение.
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1197 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.