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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с соединением с MSSQL из явы 
:(
    Опции темы
shibata
Дата 4.2.2010, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Люди помогите пожалуйста разобраться. Уже несколько дней бьюсь. Есть такая jsp страница

Код

<%@page contentType="text/html; charset=GBK"%>
<%@page import="java.lang.*"%>
<%@page import="java.util.*"%>
<%@page import="java.text.*"%>
<%@page import="org.apache.commons.lang.StringEscapeUtils"%>
<%@page import="protocol.*"%>
<%@page import="com.goldhuman.auth.*"%>
<%@page import="org.apache.commons.logging.Log"%>
<%@page import="org.apache.commons.logging.LogFactory"%>
<%@ page import="java.sql.*" %>
<%

    Connection connection = null;
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    connection = DriverManager.getConnection("jdbc:microsoft:sqlserver://10.2.18.193:1433;databasename=dbo", "se", "se");

    Statement statement = connection.createStatement();
    
    //
    //CLEAR UWEBPLAYERS DATABASE
    //    
    String deleteall = "DELETE FROM Players";
    statement.executeUpdate(deleteall);

    //
    //GET USER DB FIRST
    //
    ResultSet rst=null;
    rst = statement.executeQuery("select ID from users ORDER BY ID DESC");

    RoleBean role = null;
    String tempplayername = null;
    String command = null;
    int index = 0;
    int maxid = 0;
    int roleid = 31;
    int uid = 0;
    int eachacc = 0;
    while (rst.next())
    {
        maxid = Integer.parseInt(rst.getString("ID"));
        break;
    }
    
    while (roleid <= maxid)
    {
        roleid++;
        eachacc++;
        try
        {
            if (eachacc < 16)
            {
                role = GameDB.get( roleid );
                session.setAttribute( "gamedb_rolebean", role );
                if (null == role){
                    continue;
                }
                else
                {
                    tempplayername = null;
                    tempplayername = StringEscapeUtils.escapeHtml(role.base.name.getString());
                    
                    index = 0;
                    index = tempplayername.indexOf("'");
                    StringBuffer playername = new StringBuffer(tempplayername);
                    if(index > 0){
                        playername.replace(index, index + 1, "?");
                    }
                        
                    command = "INSERT INTO Players (roleid, rolename, rolelevel, rolestatus, rolegender, rolecultivation, rolemoney, rolerace, roleprof, rolerep, redname, rednametime, pinknametime, roletimeused, rolehp, rolemp, rolebankmoney) VALUES ("+roleid+", '"+playername+"', " + role.status.level + ", '" + role.base.status + "', '" + role.base.gender + "', '" + role.status.level2 + "', '" + role.pocket.money + "', '" + role.base.race + "', '" + role.base.cls + "', '" + role.status.reputation + "', '" + role.status.invader_state + "', '" + role.status.invader_time + "', '" + role.status.pariah_time + "', '" + role.status.time_used + "', '" + role.status.hp + "', '" + role.status.mp + "', '" + role.storehouse.money + "')";
                    statement.executeUpdate(command);
                    out.println("<br>--100% stored RoleDB: Name:" + tempplayername + " Roleid:" + roleid + " Level:" + role.status.level);
                    //out.println(command);
                }
            }
            else if (eachacc == 16)
                eachacc = 0;
            else
                continue;
        }
        catch (Exception e)
        {
            continue;
        }
    }
    
%>


При выполнении сценария пишет вот такое

Код

javax.servlet.ServletException: No suitable driver
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
    org.apache.jsp.roles.chardb_jsp._jspService(org.apache.jsp.roles.chardb_jsp:159)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    com.goldhuman.auth.AuthFilter.doFilter(AuthFilter.java:186)


root cause 
java.sql.SQLException: No suitable driver
    java.sql.DriverManager.getConnection(DriverManager.java:545)
    java.sql.DriverManager.getConnection(DriverManager.java:171)
    org.apache.jsp.roles.chardb_jsp._jspService(org.apache.jsp.roles.chardb_jsp:79)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


Как заставить этот скрипт работать? У меня установлен Tomcat 5.5.9+sun-jdk-1.5.0.21. Все это крутится на gentoo linux.

Это сообщение отредактировал(а) shibata - 5.2.2010, 22:58
PM MAIL   Вверх
dobrolub
Дата 4.2.2010, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



в WEB-INF/lib положи драйвер для MsSQL http://jtds.sourceforge.net/

в страничку пропиши

Код

Class.forName("net.sourceforge.jtds.jdbc.Driver")?

connection string

jdbc:jtds:sqlserver://10.2.18.193:1433/dbo


И обрати внимание на IP в твоём коде. Там написано sqlserver://l10 , а когда в другом шрифте, то l – очень похожа на 1. так у тебя 110 или 10?



Это сообщение отредактировал(а) dobrolub - 4.2.2010, 19:44
PM   Вверх
shibata
Дата 4.2.2010, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо большое. С этим драйвером работает!  smile 
PM MAIL   Вверх
ivanovpv
Дата 5.2.2010, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

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



Цитата(shibata @  4.2.2010,  18:52 Найти цитируемый пост)
Люди помогите пожалуйста разобраться. Уже несколько дней бьюсь. Есть такая jsp страница


Это сильно - загружаем ODBC драйвер, а URL пишем как для родного мелкософтовского драйвера:
Код

    //попытка загрузки ODBC драйвера
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

   //а здесь приведен синтаксис коннекта родного майкрософтовского JDBC драйвера с SQL авторизацией 
    connection = DriverManager.getConnection("jdbc:microsoft:sqlserver://l10.2.18.193:1433;databasename=dbo", "se", "se"); 


Нельзя смешивать мух с котлетами. Каждый драйвер имеет свой синтаксис в строке коннекта. Подборка синтаксисов здесь


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

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

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


 




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


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

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