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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблемы с пропиской Microsoft-JDBC 
V
    Опции темы
azalia
Дата 12.5.2015, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Доброго времени суток! Помогите прописать драйвер JDBC от microsoft в Tomcat 7. Использую JDK 7. Никаких дополнительных драйверов jdbc не устанавливала.

Не буду описывать тут все что я пыталась сделать, но последняя ошибка при выполнении из командной строки:

Код

C:\Tomcat 7.0\webapps\test1\WEB-INF\classes>java connectURL
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at connectURL.main(connectURL.java:18)



Или такой фокус не проходит?

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

Код

String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
         "databaseName=AdventureWorks;user=Администратор;password=123";



Порт на sqlserver tcp-1433 открыт. Делаю все локально.

чяднт?

PM   Вверх
AntonSaburov
Дата 12.5.2015, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 8
Всего: 118



Судя по сообщению, Томкат (или приложение) не видит JAR с драйвером, в котором класс com.microsoft.sqlserver.jdbc.SQLServerDriver.
Скопируйте его либо в каталог <TOMCAT>/lib, либо подключите в свой WAR.

PM MAIL WWW ICQ   Вверх
azalia
Дата 12.5.2015, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(AntonSaburov @ 12.5.2015,  14:43)
Судя по сообщению, Томкат (или приложение) не видит JAR с драйвером, в котором класс com.microsoft.sqlserver.jdbc.SQLServerDriver.
Скопируйте его либо в каталог <TOMCAT>/lib, либо подключите в свой WAR.

У меня сейчас драйвер раскидан по папкам:

C:\Tomcat 7.0\lib
sqljdbc41.jar

C:\Tomcat 7.0\bin
sqljdbc_auth.dll

Пробовала в само приложение test1 закидывать в папку lib - тоже не помогает.

Переменная среды:
JAVA_HOME
C:\jdk1.7.0_79

Системная переменная:
Path
C:\jdk1.7.0_79\bin;C:\Tomcat 7.0

Может ошибка в том что я пытаюсь все проверить из командной строки? Мне надо сервелет какой-нибудь создавать или jsp?

Это сообщение отредактировал(а) azalia - 12.5.2015, 14:55
PM   Вверх
AntonSaburov
Дата 12.5.2015, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 8
Всего: 118



dll наверно надо положить туда, куда прописан путь (PATH). 

Статья о том, где Винда ищет DLL
https://msdn.microsoft.com/en-us/library/7d83bc18.aspx

Из командной строки наверно будет правильнее - поймете хоть как это работает. Но если Вы запускаете из командной строки, то тогда DLL лучше положить туда, откуда запускаете тестовове приложение, а JAR прописать в CLASSPATH при запуске приложения.
PM MAIL WWW ICQ   Вверх
azalia
Дата 12.5.2015, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(AntonSaburov @  12.5.2015,  15:05 Найти цитируемый пост)
Но если Вы запускаете из командной строки, то тогда DLL лучше положить туда, откуда запускаете тестовове приложение, а JAR прописать в CLASSPATH при запуске приложения.


Прописала весь путь в classpath и path:
C:\Tomcat 7.0\webapps\test1\WEB-INF\classes

в этой папке лежит:
connectURL.java
connectURL.class
sqljdbc41.jar
sqljdbc_auth.dll

не работает, ошибка такая же.

закинула sqljdbc41.jar в папку C:\jdk1.7.0_79\lib и прописала эту папку тоже в classpath - не работает.

может нужна какая-то специальная связка типа odbc-jdbc?
PM   Вверх
LSD
Дата 12.5.2015, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 5
Всего: 538



ClassNotFoundException говорит именно о не найденом классе. Если бы дело было в dll то было бы java.lang.UnsatisfiedLinkError: Unable to load library. 

По сабжу, зачем запускать обычное косольное приложение из папки томката? А так надо или прописать путь к sqljdbc41.jar в системной переменной CLASSPATH или указывать при запуске явно:
Код

java -cp "C:\Tomcat 7.0\lib\sqljdbc41.jar";. connectURL



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
azalia
Дата 12.5.2015, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(LSD @  12.5.2015,  17:03 Найти цитируемый пост)
или указывать при запуске явно:


да! так заработало! спасибо!

в classpath путь тоже целиком указала к jar - заработало!

Цитата(LSD @  12.5.2015,  17:03 Найти цитируемый пост)
зачем запускать обычное косольное приложение из папки томката? 


а это у меня такой метод исключения ошибок, чтобы не запутаться потом "откуда ноги растут" у проблемы, ну т.е. мне потом надо будет это как-то через tomcat запускать...

Это сообщение отредактировал(а) azalia - 12.5.2015, 18:08
PM   Вверх
AntonSaburov
Дата 13.5.2015, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 8
Всего: 118



Ну зато теперь с CLASSPATH скорее всего разобрались. Знаете, что надо не папку указывать, а JAR. Ну или папку в которой лежат файлы .class
PM MAIL WWW 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.0489 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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