Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / org.firebirdsql.jdbc.FBSQLException: Result set is already closed / 25 сообщений из 65, страница 1 из 3
05.05.2016, 14:35
    #39229927
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
вот такие ошибки в рандомное время возникают в web приложении (причем не у меня, а вижу в логах при работе пользователей)

org.firebirdsql.jdbc.FBSQLException: Result set is already closed.
org.firebirdsql.jdbc.FBSQLException: The result set is closed

одна после другой иногда возникают во время построения таблицы на основе запроса к базе (т.е. наверное можно сказать, что отрисовка в html происходит "продолжительное" время)

все подобное "рисование" выполняю следующим образом - создаю коннект, statement, resultset, "рисую" (через while (resultset.next()) ), по окончании закрываю вообще все

может идеологически это неверно и несколько одновременных запросов страницы приводят к тому, что тот что отрисовался раньше закрывает первый!?

просто не могу понять почему такое происходит, в самой "отрисовке" только один единственный набор объектов, включая resultset
...
Рейтинг: 0 / 0
05.05.2016, 14:36
    #39229929
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
wolverinпо окончании закрываю вообще все
Пул используется?
...
Рейтинг: 0 / 0
05.05.2016, 14:39
    #39229933
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
Blazkowicz,

а что дает? мне не требуется держать несколько соединений - нарисовал, закрыл, отключился
но как то получается что конкурирующие потоки взаимодействуют...
...
Рейтинг: 0 / 0
05.05.2016, 14:41
    #39229935
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
т.е. мне казалось что в session я имею дело с отдельно созданным resultset
даже как это проверить не пойму, потому как на деле отрисовка конечно же выполняется быстро, но когда работает куча пользователей нет нет да выскочит вот эта беда
...
Рейтинг: 0 / 0
05.05.2016, 14:41
    #39229937
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
BlazkowiczПул используется?
) нет!
...
Рейтинг: 0 / 0
05.05.2016, 14:44
    #39229940
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
wolverinа что дает?

В web приложении-то? Это даёт всё. В том числе валидацию соединений.

wolverinно как то получается что конкурирующие потоки взаимодействуют...
На основе чего сделан такой вывод?
...
Рейтинг: 0 / 0
05.05.2016, 14:44
    #39229941
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
wolverinт.е. мне казалось что в session я имею дело с отдельно созданным resultset
Session здесь вообще при чем?
...
Рейтинг: 0 / 0
05.05.2016, 14:46
    #39229942
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
wolverin,

Ошибка вылетает в момент первого использования ResultSet (в начале цикла) или в середине, уже после того как несколько записей вычитано?
Закрываете руками или через AutoClosable? Stacktrace почему не привели?
...
Рейтинг: 0 / 0
05.05.2016, 14:46
    #39229943
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
вот как конкретно выглядит текст

но конкретно ВСЕГДА эта строка, а по ней вообще комментарий в теле цикла
at org.apache.jsp.ИМЯ-СТРАНИЦЫ-С-ОШИБКОЙ_jsp._jspService(ИМЯ-СТРАНИЦЫ-С-ОШИБКОЙ_jsp.java from :77)

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
[#|2016-05-05T09:34:52.263+0600|SEVERE|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=28;_ThreadName=Thread-2;|org.firebirdsql.jdbc.FBSQLException: Result set is already closed.
        at org.firebirdsql.jdbc.FBStatementFetcher.checkClosed(FBStatementFetcher.java:232)
        at org.firebirdsql.jdbc.FBStatementFetcher.fetch(FBStatementFetcher.java:187)
        at org.firebirdsql.jdbc.FBStatementFetcher.next(FBStatementFetcher.java:137)
        at org.firebirdsql.jdbc.AbstractResultSet.next(AbstractResultSet.java:250)
        at org.apache.jsp.ИМЯ-СТРАНИЦЫ-С-ОШИБКОЙ_jsp._jspService(ИМЯ-СТРАНИЦЫ-С-ОШИБКОЙ_jsp.java from :77)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:473)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:377)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
        at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
        at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
        at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
        at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
        at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
        at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
        at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
        at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
        at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
        at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
        at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
        at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
        at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
        at java.lang.Thread.run(Thread.java:662)
|#]

[#|2016-05-05T09:34:52.278+0600|SEVERE|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=19;_ThreadName=Thread-2;|org.firebirdsql.jdbc.FBSQLException: The result set is closed
        at org.firebirdsql.jdbc.AbstractResultSet.checkCursorMove(AbstractResultSet.java:217)
        at org.firebirdsql.jdbc.AbstractResultSet.next(AbstractResultSet.java:249)
        at org.apache.jsp.ИМЯ-СТРАНИЦЫ-С-ОШИБКОЙ_jsp._jspService(ИМЯ-СТРАНИЦЫ-С-ОШИБКОЙ_jsp.java from :77)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:473)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:377)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
        at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
        at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
        at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
        at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
        at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
        at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
        at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
        at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
        at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
        at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
        at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
        at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
        at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
        at java.lang.Thread.run(Thread.java:662)
...
Рейтинг: 0 / 0
05.05.2016, 14:47
    #39229947
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
Blazkowiczwolverin,

Ошибка вылетает в момент первого использования ResultSet (в начале цикла) или в середине, уже после того как несколько записей вычитано?
Закрываете руками или через AutoClosable? Stacktrace почему не привели?
получается приблизительно в середине, после вычитки нескольких записей, закрываю руками после выхода из цикла
...
Рейтинг: 0 / 0
05.05.2016, 14:55
    #39229958
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
BlazkowiczSession здесь вообще при чем?
поскольку новичок - делаю безумные предположения (
а вообще через переменные session "обмениваюсь" между jsp объектами, но открытие и закрытие только в пределах "цикла"
...
Рейтинг: 0 / 0
05.05.2016, 14:57
    #39229961
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
wolverinно открытие и закрытие только в пределах "цикла"
дай псевдо код условный. И где он расположен.
...
Рейтинг: 0 / 0
05.05.2016, 15:01
    #39229962
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
Petro123дай псевдо код условный. И где он расположен.

вот так немного упрощенно если

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
                DataSetD dsd = (DataSetD)session.getAttribute("dataset");
                if (dsd.getDolgDetail(l_schet, dBeg, dEnd)) {
                    float summa = 0, summa_opl = 0, sum = 0, sum_opl = 0;
                    GregorianCalendar data = new GregorianCalendar();
                    int year = data.get(GregorianCalendar.YEAR);
                    int year_old = year;
                    int year_first = year;
                    SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");

                    try {
                        while (dsd.rs.next()) {
                            data.setTime(dsd.rs.getDate("datedoc"));
                            year = data.get(GregorianCalendar.YEAR);
                            if (year != year_old) {
                                %><tr align="center">
                                    <td><B>Итого</B></td>
                                    <td></td>
                                    <td><B><%= sum %></B></td>
                                    <td><B><%= sum_opl %></B></td>
                                </tr><%
                                sum = 0;
                                sum_opl = 0;
                                year_old = year;
                            }
                            sum += dsd.rs.getFloat("summa");
                            %><tr>
                                <td><%= dsd.rs.getString("tarif_group") %></td>
                                <td align="center"><%= sdf.format(dsd.rs.getDate("datedoc")) %></td>
                                <%--<td align="right"><%if(rs.getString("summa") != null) %><%=rs.getFloat("summa")%></td>
-------------------НОМЕР СТРОКИ ПОЧЕМУ ТО ВОТ ЗДЕСЬ^^^^^^^^^^^^^^^^^-------------------
                                <td align="right"><%if(rs.getString("summa_opl") != null) %><%=rs.getFloat("summa_opl")%></td>--%>
                                <td align="right"><%= dsd.rs.getFloat("summa") %></td>
                                <td align="right"><%= dsd.rs.getFloat("summa_opl") %></td>
                            </tr><%
                        }
                        //dds.rs.close();
                        if (year != year_first) {
                            %><tr align="center">
                                <td><B>Итого</B></td>
                                <td></td>
                                <td><B><%= sum %></B></td>
                                <td><B><%= sum_opl %></B></td>
                            </tr> <%
                        }
                        %><tr align="center">
                            <td><B>Всего</B></td>
                            <td></td>
                            <td><B><%= summa %></B></td>
                            <td><B><%= summa_opl %></B></td>
                        </tr><%
                        //session.setAttribute("AccessId", 3);
                    } catch (Exception e) {
                        e.printStackTrace();
                        %><p>Ошибка операции</p><%
                    }
                }
                else { %><p>Соединение не установлено</p><% }
                dsd.Disconnect();
...
Рейтинг: 0 / 0
05.05.2016, 15:02
    #39229964
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
сам дисконект
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
    public void Disconnect() {
        try {
            if (rs != null) {
                if (!rs.isClosed()) rs.close();
                rs = null;
            }
        }
        catch (SQLException e) {
            e.printStackTrace();
        }

        try {
            if (s != null) {
                if (!s.isClosed()) s.close();
                s = null;
            }
        }
        catch (SQLException e) {
            e.printStackTrace();
        }

        try {
            if (c != null) {
                //c.rollback();
                if (!AutoCommit) c.commit();
                if (!c.isClosed()) c.close();
                c = null;
            }
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
    }
...
Рейтинг: 0 / 0
05.05.2016, 15:19
    #39229977
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
wolverin
Код: java
1.
 DataSetD dsd = (DataSetD)session.getAttribute("dataset");


AFAIK DataSet не потокобезопасный объект. В сессию нельзя.
...
Рейтинг: 0 / 0
05.05.2016, 15:23
    #39229985
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
Petro123AFAIK DataSet не потокобезопасный объект. В сессию нельзя.
формально конечно DataSetD dsd не сам dataset, а просто обертка с инициализированными параметрами для соединения, сами объекты в проблемном jsp создаются и конектятся в dsd.getDolgDetail
...
Рейтинг: 0 / 0
05.05.2016, 15:26
    #39229989
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
wolverin,
какая разница. В одном потоке ты создал, во втором прибил. А ссылки и работающий JSP в другом.
...
Рейтинг: 0 / 0
05.05.2016, 15:27
    #39229993
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
wolverin,
грубо, JSP это VIEW.
При загрузке открой коннект и прибей после отрисовки.
...
Рейтинг: 0 / 0
05.05.2016, 15:28
    #39229994
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
Petro123,

хотя конечно объявлено как public class DataSetD extends DataSet

и как тогда нужно делать?
...
Рейтинг: 0 / 0
05.05.2016, 15:28
    #39229996
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
Petro123При загрузке открой коннект и прибей после отрисовки.
так он и прибевается после отрисовки и создается перед ней
...
Рейтинг: 0 / 0
05.05.2016, 15:29
    #39229999
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
wolverinи как тогда нужно делать?
1.
При загрузке открой коннект и прибей после отрисовки.
2. бины
3. пул
...
Рейтинг: 0 / 0
05.05.2016, 15:30
    #39230003
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
wolverinтак он и прибевается после отрисовки и создается перед нейпо коду не видно. Эта часть у тебя спрятана.
...
Рейтинг: 0 / 0
05.05.2016, 15:30
    #39230004
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
Как теперь это все развидеть-то? Просто слов нет. Энтузиазма много и только.

ResultSet не место в Session. Разве только если использовать какой-нибудь WebRowSet, отсоединенный от базы.
То что объект находится в Session никак не защищает от конкурентного доступа. Один пользователь может открыть две странцы в одной сессии. Это скорее всего и является причиной ошибки.

JSP надо использовать в виде HTML шаблона, а не в миксуя Java и HTML в безобразную кашу двух языков (а если ещё и JavaScript добавить?).
Если так кортит использовать JDBC прямо в странице, то есть же SQL в JSTL
http://www.tutorialspoint.com/jsp/jstl_sql_query_tag.htm

Ресурсы надо закрывать в блоке finally, а не в if..else

Срочно к изучению
JSP JSTL
JSP Expression Language
Model View Controller
finally
AutoCloseable (try with resource)
...
Рейтинг: 0 / 0
05.05.2016, 15:32
    #39230009
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
Petro123wolverinтак он и прибевается после отрисовки и создается перед нейпо коду не видно. Эта часть у тебя спрятана.
тут создаю
if (dsd.getDolgDetail(l_schet, dBeg, dEnd))

тут убиваю
dsd.Disconnect();

конкретно

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
    public boolean getDolgDetail(String l_schet, String dBeg, String dEnd) {

        return getOpen("select ");
    }


    public boolean getOpen(String sql) {

        boolean res = false;

        if (rs == null) {
            if (Connect())
                res = Open(sql) != null;
        }
        else res = Open(sql) != null;

        return res;
    }


    public ResultSet Open(String sql) {

        try {
            if (rs != null)
                if (!rs.isClosed()) rs.close();
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
        finally {
            rs = null;
        }

        try {
            if (s != null) rs = s.executeQuery(sql);
        }
        catch (SQLException e) {
            e.printStackTrace();
        }

        return rs;
    }
...
Рейтинг: 0 / 0
05.05.2016, 15:34
    #39230013
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
а ну и сам коннект
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
    public boolean Connect(){

        try {
            Class.forName("org.firebirdsql.jdbc.FBDriver");
        }
        catch (ClassNotFoundException e) {
            e.printStackTrace();
            //System.out.println("Firebird JCA-JDBC driver not found in class path");
            return false;
        }

        Driver d = null;
        try {
            d = DriverManager.getDriver(database);
        }
        catch (SQLException e) {
            e.printStackTrace();
            //System.out.println ("Unable to find Firebird JCA-JDBC driver among the registered drivers.");
            return false;
        }

        c = null;
        try {
            Properties prop = new Properties ();
            prop.put("user", user);
            prop.put("password", password);
            prop.put("lc_ctype", "WIN1251");

            c = d.connect(database, prop);
            c.setAutoCommit(AutoCommit);
        }
        catch (SQLException e) {
            e.printStackTrace();
            return false;
        }

        try {
            s = c.createStatement(resultSetType, resultSetConcurrency);
        }
        catch (SQLException e) {
            e.printStackTrace();
            return false;
        }

        return true;
    }
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / org.firebirdsql.jdbc.FBSQLException: Result set is already closed / 25 сообщений из 65, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]