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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не создается подключение к MySQL из серлета c JNDI 
V
    Опции темы
ks79
Дата 12.1.2010, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добрый день, помогите пожалуйста разобраться с ошибкой
Кусок кода в котором возникает ошибка((

Код

Context ctx = (Context) new InitialContext().lookup("java:comp/env"); 
DataSource dataSource = (DataSource) ctx.lookup("jdbc/StudentsDS");
Connection con = dataSource.getConnection();
Statement stmt = con.createStatement(); // Ошибка возникает здесь



context.xml

Код

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/studentsApp">
   <Resource
      name="jdbc/StudentsDS"
      type="javax.sql.DataSource"
      username="root"
      password="1234"
      driverClassName="com.mysql.jdbc.Driver"
      maxIdle="2"
      maxWait="5000"
      validationQuery="SELECT 1"
      url="jdbc:mysql://127.0.0.1:3306/students"
      maxActive="4">
   </Resource>
</Context>


Текст ошибки

Код

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'root'@'localhost' (using password: NO))
    students.web.MainFrameServlet.doGet(MainFrameServlet.java:42)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'root'@'localhost' (using password: NO))
    org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1225)
    org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
    students.logic.ManagementSystem.getInstance(ManagementSystem.java:36)
    students.web.MainFrameServlet.doGet(MainFrameServlet.java:30)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)
    com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975)
    com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:798)
    com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3700)
    com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1203)
    com.mysql.jdbc.Connection.createNewIO(Connection.java:2572)
    com.mysql.jdbc.Connection.<init>(Connection.java:1485)
    com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
    org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
    org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
    org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1247)
    org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1221)
    org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
    students.logic.ManagementSystem.getInstance(ManagementSystem.java:36)
    students.web.MainFrameServlet.doGet(MainFrameServlet.java:30)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.



Без использования JNDI я к MySql перкрасно подключаюсь вот таким образом(
Код

Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/students";
con = DriverManager.getConnection(url, "root", "1234");
stmt = con.createStatement();


PM MAIL   Вверх
dobrolub
Дата 12.1.2010, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



попробуй два варианта

1. в строке адреса сервера указать localhost вместо 127.0.0.1
2. перенести username/password в строку url
url="jdbc:mysql://localhost:3306/students?user=root&password=1234"
PM   Вверх
magicfly
Дата 13.1.2010, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата

using password: NO


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

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

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


 




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


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

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