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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TDSReader исключение 
:(
    Опции темы
romawint
Дата 17.10.2013, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Помогите пожалуйста, не могу понять почему JDBC выдает такой exception:
Код

com.microsoft.sqlserver.jdbc.TDSParser throwUnexpectedTokenException
SEVERE: ConnectionID:1 ClientConnectionId: 44da76e8-f88d-4517-b577-6c6a2e0af3ce: FetchBufferTokenHandler: Encountered unexpected unknown token (0x2)
com.microsoft.sqlserver.jdbc.TDSReader throwInvalidTDSToken
SEVERE: ConnectionID:1 ClientConnectionId: 44da76e8-f88d-4517-b577-6c6a2e0af3ce got unexpected value in TDS response at offset:1129
com.microsoft.sqlserver.jdbc.SQLServerException: Недопустимый поток протокола потока табличных данных (TDS). Непредвиденный маркер (token) unknown token (0xFFFFFFFF).
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1667)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1654)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.throwInvalidTDSToken(SQLServerConnection.java:1643)
    at com.microsoft.sqlserver.jdbc.TDSReader.throwInvalidTDSToken(IOBuffer.java:4754)
    at com.microsoft.sqlserver.jdbc.TDSParser.throwUnexpectedTokenException(tdsparser.java:100)
    at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:89)
    at com.microsoft.sqlserver.jdbc.SQLServerResultSet$FetchBuffer.nextRow(SQLServerResultSet.java:4849)
    at com.microsoft.sqlserver.jdbc.SQLServerResultSet.fetchBufferNext(SQLServerResultSet.java:1781)
    at com.microsoft.sqlserver.jdbc.SQLServerResultSet.next(SQLServerResultSet.java:1034)
    at stek.servise.servlet.Employee.doPost(Employee.java:156)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at base.CharEncodingFilter.doFilter(CharEncodingFilter.java:34)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)

PM MAIL   Вверх
romawint
Дата 22.10.2013, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



вот сам код:

Код

public class Employee extends HttpServlet {

    static final String DB_URL = "jdbc:sqlserver://test:1433;databaseName=test;characterEncoding=UTF-8";
    static final String USER = "";
    static final String PASS = "";
    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;


    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        response.addHeader("Access-Control-Allow-Origin", "*");
        PrintWriter out = response.getWriter();
        try {

            String task = request.getParameter("task");
            task = (task == null ? "null" : task);
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            conn = DriverManager.getConnection(DB_URL, USER, PASS);
            stmt = conn.createStatement();
            String sql;
            if (task.equals("COMMUNIC")) {
                String orgId = request.getParameter("org_id");           
                String lastName = request.getParameter("last_name");
                String jobName = request.getParameter("job_name");
                String telAts = request.getParameter("tel_ats").replaceAll("-", "");
                String value = new String();
                sql = "SELECT tab_no, fname+' '+sname+' '+tname as name, posada,isnull(tel1,'')as tel1,isnull(tel2,'')as tel2,isnull(email,'') as email,job,name as job_txt  FROM emploe left join tree on job = tree.id"
                        + " where job = '" + orgId + "' or fname LIKE '" + lastName + "%' or posada = '" + jobName + "' or replace(tel1,'-','') like '%" + telAts + "%' or replace(tel2,'-','') like '%" + telAts + "%'";
                rs = stmt.executeQuery(sql);
                while (rs.next()) {
                String name = rs.getString("name");
                String tel1 = rs.getString("tel1");
                String tel2 = rs.getString("tel2");
                String jobtxt = rs.getString("posada");
                String em = rs.getString("email");
                String email = "<a href='mailto:" + em + "'>" + em + "</a>";
                String tn = rs.getString("tab_no");
                String org = rs.getString("job_txt");
                String org_id = rs.getString("job");
                    value += "<tr class='row'><td>"+ name + "</td><td>" + tel1 + "</td><td>" + email + "</td><td>" + jobtxt + "</td></tr>";
                }
                out.println(value);

            } else if (task.equals("JOB_POS")) {
                response.setContentType("text/xml;charset=UTF-8");
                String value = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><main>";
                sql = "Select posada  FROM emploe  group by posada";
                rs = stmt.executeQuery(sql);
                while (rs.next()) {
                    value += "<LONG_TEXT>" + rs.getString("posada") + "</LONG_TEXT>";
                }
                value += "</main>";
                out.println(value);
            } else if (task.equals("ORG_UNIT_LIST")) {
                sql = "SELECT id,name,pdrent_id FROM tree";
                rs = stmt.executeQuery(sql);
                String value = new String();
                ArrayList<Item> arr = new ArrayList<Item>();
                while (rs.next()) {
                    arr.add(new Item(rs.getString("id"), rs.getString("name"), rs.getString("pdrent_id")));
                }
                value += recurs(3, arr, "0");
                out.println(value);
            } else {
                out.println("Employee: uncorrect task = " + task);
            }
        } catch (SQLException se) {
            se.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            out.close();
            try {
                if (rs != null) {
                    rs.close();
                }
            } catch (SQLException se2) {
                se2.printStackTrace();
            }
            try {
                if (stmt != null) {
                    stmt.close();
                }
            } catch (SQLException se2) {
                se2.printStackTrace();
            }
            try {
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException se) {
                se.printStackTrace();
            }
        }
    }




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

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

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


 




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


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

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