Вылетает ошибка ResultSet is closed !
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        


12»»

Вылетает ошибка ResultSet is closed ! Expand / Collapse
Автор
Сообщение
30.01.2007 11:44
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 19.02.2007 10:29
Сообщ.: 27, Visits: 83
Здравствуйте!

БД IBM DB2 for OS/390(мэйнфрейм)

Первая версия - лезет в ТАБЛИЦЫ DB2 на удалённую машину через Web сервер Tomcat, который установлен локально! (используется DB2 Client). Всё работает!

Вторая версия - работа с теми же таблицами DB2 под WSAS( WSAS установлена на самом мейнфрейме- на удалённой машине). Первая JSP-ка отрабатывает, в которой тоже есть запрос к БД, а вторая выдаёт вот эту ошибку.

Вот код программы -

<%@ page contentType="text/html; charset=windows-1251" %>
<%@page import="javax.servlet.*"%>
<%@page import="javax.servlet.http.*"%>
<%@page import="java.io.*"%>
<%@page import="java.sql.*"%>
<%@page import="java.util.*"%>
<%@page import="java.util.Date"%>
<%@page import="java.util.Random"%>
<%@page import="javax.sql.DataSource"%>
<%@page import="javax.naming.Context"%>
<%@page import="javax.naming.InitialContext"%>
<%@page import="javax.naming.NamingException"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.SQLException"%>
<%!
public static String Zamena_na_AYA(String source)
   {
       String Result;
     int Osn_chast = source.length()-7;
    Result=source.substring(0,Osn_chast)+"ая ж.д.";
    return Result;
   }
%>
<%
String kod_dorogi = request.getParameter("KOD_DOR");
String INFORMATION = request.getParameter("USTAR");
String IDENTIFIKATOR= request.getParameter("Ident_pods");
String TIP_OBJEKTA = request.getParameter("Tip_objekta");
//System.out.println("kod_dorogi = "+kod_dorogi);
//System.out.println("IDENTIFIKATOR = "+IDENTIFIKATOR);
//System.out.println("TIP_OBJEKTA = "+TIP_OBJEKTA);

String naim_dor="";
switch (Integer.parseInt(kod_dorogi))
{
case 1:
naim_dor="Октябрьской ж.д.";
break;
case 10:
naim_dor="Калининградской ж.д.";
break;
case 17:
naim_dor="Московской ж.д.";
break;
case 24:
naim_dor="Горьковской ж.д.";
break;
case 28:
naim_dor="Северной ж.д.";
break;
case 51:
naim_dor="Северо-Кавказской ж.д.";
break;
case 58:
naim_dor="Юго-Восточной ж.д.";
break;
case 61:
naim_dor="Приволжской ж.д.";
break;
case 63:
naim_dor="Куйбышевской ж.д.";
break;
case 76:
naim_dor="Свердловской ж.д.";
break;
case 80:
naim_dor="Южно-Уральской ж.д.";
break;
case 83:
naim_dor="Западно-Сибирской ж.д.";
break;
case 88:
naim_dor="Красноярской ж.д.";
break;
case 92:
naim_dor="Восточно-Сибирской ж.д.";
break;
case 94:
naim_dor="Забайкальской ж.д.";
break;
case 96:
naim_dor="Дальневосточной ж.д.";
break;
case 99:
naim_dor="Сахалинской ж.д.";
break;
}
//System.out.println("naim_dor = "+naim_dor);
//System.out.println("kod_dorogi = "+kod_dorogi );
// Подключение к базе данных мэйнфрейма с файлом настройки
//String bdName = getServletContext().getInitParameter("DBN");
//String UserID = getServletContext().getInitParameter("UID");
//String Password = getServletContext().getInitParameter("PWD");
//Квалификатор базы данных
//String Qualifier_OTT = getServletContext().getInitParameter("QUADB");
//String Driver = getServletContext().getInitParameter("DRV");
//--------   НИКАКОГО КЭШИРОВАНИЯ!!!!!   --------------------------
response.setHeader("Cache-Control","no-cache");
response.setHeader("Pragma","no-cache");
response.setHeader("Cache-Control","no-store");
String SQL_PROGRAMMA = "";
if ((IDENTIFIKATOR.equals("***") || IDENTIFIKATOR.equals("DOD"))&&TIP_OBJEKTA.equals("P") )
{
SQL_PROGRAMMA = "SELECT DISTINCT XXX.R_NM_OBJ, XXX.R_DL_MOD, XXX.R_DATE_SOZD FROM"+
" ASP2QB.SKFE_REG XXX, (SELECT R_NM_OBJ AS C1, MAX(R_TIME_SR) AS MAXC"+
" FROM ASP2QB.SKFE_REG WHERE R_TYP_OBJ='"+TIP_OBJEKTA+"' AND R_ID_SS='"+IDENTIFIKATOR+"' AND R_RES='Y' AND"+
" R_KOD_DOR='"+kod_dorogi+"' GROUP BY R_NM_OBJ) YYY WHERE XXX.R_NM_OBJ=YYY.C1"+
" AND XXX.R_TIME_SR=YYY.MAXC  AND XXX.R_KOD_DOR='"+kod_dorogi+"' AND XXX.R_TYP_OBJ='"+TIP_OBJEKTA+"' AND XXX.R_ID_SS='"+IDENTIFIKATOR+"' AND XXX.R_RES='Y' WITH UR";
    //System.out.println("SQL_PROGRAMMA= "+SQL_PROGRAMMA);
}
else
{
SQL_PROGRAMMA = "SELECT DISTINCT XXX.R_NM_OBJ FROM"+
" ASP2QB.SKFE_REG XXX, (SELECT R_NM_OBJ AS C1, MAX(R_TIME_SR) AS MAXC"+
" FROM ASP2QB.SKFE_REG WHERE R_TYP_OBJ='"+TIP_OBJEKTA+"' AND R_ID_SS='"+IDENTIFIKATOR+"' AND R_RES='Y' AND"+
" R_KOD_DOR='"+kod_dorogi+"' GROUP BY R_NM_OBJ) YYY WHERE XXX.R_NM_OBJ=YYY.C1"+
" AND XXX.R_TIME_SR=YYY.MAXC WITH UR";
}
//System.out.println("SQL_PROGRAMMA = "+SQL_PROGRAMMA );
String MASSIV_SQL_PROGRAMMA[][];
MASSIV_SQL_PROGRAMMA = new String[5000][4];
/*try
{
   Class.forName (Driver);
}
catch (ClassNotFoundException ex)
{
   System.err.println(" Connection error. Driver JDBC/ODBC not found! ***");
}*/
DataSource pool = null;
String qualifier;
Context env = null;
Connection con = null;
try
{
            env = (Context) new InitialContext().lookup("java:comp/env");
 //ищем DataSource, который представляет пул соединений
 pool = (DataSource) env.lookup("jdbc/DB2D_SPA");
  if (pool==null) throw new SecurityException("'jdbc/DB2D_SPA' is an unknown DataSource!");
//qualifier = (String) env.lookup("qualifier");
 //if (qualifier==null) throw new SecurityException("'Qualifier' is an unknown Environment Parameter!");
}
catch (NamingException ne)
{
            ne.printStackTrace();
 throw new NullPointerException( "Не возможно создать соединение с базой данных! Message:"+ne.getMessage() );
 //      System.err.println ("\?????? ???????????? ????!");
 //     System.err.println ("-----------------------------------------");
 //     System.err.println (ne);
 //     session.setAttribute("ERR","Error name: "+ne);
 //     session.setAttribute("ERR_DESCRIPTION","?????? ?????");
 //     response.sendRedirect("error.jsp");
 //     return;
}
try
{
con = pool.getConnection();
// Устанавливаем уровень изоляции - грязное чтение
   con.setTransactionIsolation( con.TRANSACTION_READ_UNCOMMITTED );
   int numCols = 0;
   Statement stmt = con.createStatement ();
      ResultSet Rst3 = stmt.executeQuery (SQL_PROGRAMMA);
   // Получить the ResultSetMetaData. Они будут использованы для печати заголовков
   ResultSetMetaData rsmd = Rst3.getMetaData ();
   // Получить число столбцов в результирующем наборе
    numCols = rsmd.getColumnCount ();
  for(int i=0;i<5000;i++)
     {
    for (int j=0;j<4;j++)
      {
      MASSIV_SQL_PROGRAMMA[i][j]="";
      }
  }
   int n_records=0;
     while (Rst3.next())
   {
      for (int i=1; i<=numCols; i++)
      {
   String Tmp="";
     Tmp=Rst3.getString(i);
   if (Tmp==null)
     {
  MASSIV_SQL_PROGRAMMA[n_records][i]="";
  }
  else
  {
   MASSIV_SQL_PROGRAMMA[n_records][i]=Tmp.trim();
  }
      //String Tmp=Rst.getString(i).trim();
          //MASSIV_SQL_PROGRAMMA[n_records][i]=Tmp.trim();
    //System.out.println("MASSIV_SQL_PROGRAMMA["+n_records+"]["+i+"] = "+MASSIV_SQL_PROGRAMMA[n_records][i]);
   }
      n_records++;
   }
      Rst3.close();
   ResultSet Rst4=null;
   String SQL_TO_ETALON[];
SQL_TO_ETALON = new String[5000];
String MASSIV_SQL_PROGRAMMA_ETALON[][];
MASSIV_SQL_PROGRAMMA_ETALON = new String[5000][4];
for(int i=0;i<5000;i++)
     {
    for (int j=0;j<4;j++)
      {
      MASSIV_SQL_PROGRAMMA_ETALON[i][j]="";
      }
  }
   for (int i=0;i<n_records;i++)
   {
   if ((IDENTIFIKATOR.equals("***") || IDENTIFIKATOR.equals("DOD"))&&TIP_OBJEKTA.equals("P") )
{
 SQL_TO_ETALON[i]="SELECT E_NM_OBJ, E_DL_MOD,E_DATE_SOZD FROM ASP2QB.SKFE_ETALON WHERE E_TYP_OBJ='"+TIP_OBJEKTA+"' AND E_ID_SS='"+IDENTIFIKATOR+"' AND E_NM_OBJ='"+MASSIV_SQL_PROGRAMMA[i][1]+"' WITH UR";
 }
 else
 {
 SQL_TO_ETALON[i]="SELECT E_NM_OBJ FROM ASP2QB.SKFE_ETALON WHERE E_TYP_OBJ='"+TIP_OBJEKTA+"' AND E_ID_SS='"+IDENTIFIKATOR+"' AND E_NM_OBJ='"+MASSIV_SQL_PROGRAMMA[i][1]+"' WITH UR";
 }
 //System.out.println("SQL_TO_ETALON["+i+"] = "+SQL_TO_ETALON[i]);
 //System.out.println();
    }
int n_records1=0;
for (int i=0;i<n_records;i++)
   {
   Rst4 = stmt.executeQuery (SQL_TO_ETALON[i]);
   numCols = rsmd.getColumnCount ();
     while (Rst4.next())
    {
      for (int j=1; j<=numCols; j++)
       {
      String Tmp=Rst4.getString(j).trim();
          MASSIV_SQL_PROGRAMMA_ETALON[n_records1][j]=Tmp.trim();
    //System.out.println("MASSIV_SQL_PROGRAMMA_ETALON["+n_records1+"]["+j+"] = "+Tmp);
    }
      n_records1++;
    }
   }
   Rst4.close();
   //Закрыть оператор
   stmt.close();
   // Закрыть соединение
   con.close();
%>
<%
if (MASSIV_SQL_PROGRAMMA[0][1].equals(""))
{%>
<html>
<head>
<%
if (TIP_OBJEKTA.equals("P"))
{%>
<title>Расхождение длины и/или даты программ по <%=naim_dor%></title>
<%}
%>
<%
if (TIP_OBJEKTA.equals("M"))
{%>
<title>Расхождение массивов НСИ по <%=naim_dor%></title>
<%}
%>
<%
if (TIP_OBJEKTA.equals("T"))
{%>
<title>Расхождение таблиц НСИ по <%=naim_dor%></title>
<%}
%>
<%
if (TIP_OBJEKTA.equals("D"))
{%>
<title>Расхождение DBRM по <%=naim_dor%></title>
<%}
%>
<META http-equiv=pragma content=no-cashe>
   <META http-equiv=expires content="Sat, 05 Nov 2004 00:00:00 GMT">
   <META content="Web-ARM GVC" name=description>
   <META content="Arm-SKFE, GVC" name=keywords>
   <META http-equiv=Content-Type content="text/html; charset=windows-1251">
</head>
<script language="JavaScript">
function  Escape()
{
window.close();
}
</script>
<body bgcolor="#82C0FF" leftMargin=0 topMargin=0 rightMargin=0  bottomMargin=0 marginwidth="0"
marginheight="0">
<br>
<%
if (TIP_OBJEKTA.equals("P"))
{%>
<h1 align="center">Расхождение длины и/или даты программ по <%=naim_dor%> отсутствуют! </h1>
<%}
%>
<%
if (TIP_OBJEKTA.equals("M"))
{%>
<h1 align="center">Расхождение массивов НСИ по <%=naim_dor%> отсутствуют! </h1>
<%}
%>
<%
if (TIP_OBJEKTA.equals("T"))
{%>
<h1 align="center">Расхождение таблиц НСИ по <%=naim_dor%> отсутствуют! </h1>
<%}
%>
<%
if (TIP_OBJEKTA.equals("D"))
{%>
<h1 align="center">Расхождение DBRM по <%=naim_dor%> отсутствуют! </h1>
<%}
%>
<br>
<br>
<br>
<br>
<br>
<table width="70%" border="0" align="center">
   <tr>
   <td align="center"><div align="rleft"><input type="button" value="Закрыть окно" title="Нажмите на кнопку для того чтобы закрыть окно" onClick="Escape()"></div></td>
   </tr>
   </table>
</body>
</html>
<%}
else
{

   if ((IDENTIFIKATOR.equals("***") || IDENTIFIKATOR.equals("DOD"))&&TIP_OBJEKTA.equals("P") )
{

%>
<html>
<head>
<title>Расхождение длины и/или даты программ по <%=naim_dor%></title>
<META http-equiv=pragma content=no-cashe>
   <META http-equiv=expires content="Sat, 05 Nov 2004 00:00:00 GMT">
   <META content="Web-ARM GVC" name=description>
   <META content="Arm-SKFE, GVC" name=keywords>
   <META http-equiv=Content-Type content="text/html; charset=windows-1251">
</head>
<script language="JavaScript">
function  Escape()
{
window.close();
}
</script>
<body bgcolor="#82C0FF" leftMargin=0 topMargin=0 rightMargin=0  bottomMargin=0 marginwidth="0"
marginheight="0">
<br>
<h1 align="center">Расхождение длины и/или даты программ по <%=naim_dor%>! </h1>
<br>
<br>
<% if (INFORMATION.equals("0"))
{%>
<h1 align="center" ><font color="#FFFF66" face="Verdana, Arial, Helvetica, sans-serif">Информация по <%=naim_dor%> является устаревшей! </font></h1>
<%
}
%>
<br>
<br>
<br>
<table width="70%" border="1" align="center" bgcolor="#409FFF">
<tr>
       <td width="25%" bgcolor="#0073E6"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif">Эталон ГВЦ/<%=Zamena_na_AYA(naim_dor)%>(<%=kod_dorogi%>)</font></td>
   <td width="25%" bgcolor="#0073E6"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif">Имя объекта(модуля)</font></td>
   <td width="25%" bgcolor="#0073E6"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif">Длина</font></td>
   <td width="25%" bgcolor="#0073E6"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif">Дата</font></td>
</tr>  

<tr>
       <td colspan="4" bgcolor="#0073E6"></td>
</tr>
<tr>
       <td colspan="4" bgcolor="#0073E6"></td>
</tr>

<%
for (int i=0;i<n_records;i++)
{
 for (int j=0;j<n_records1;j++)
  {
    if (MASSIV_SQL_PROGRAMMA[i][1].equals(MASSIV_SQL_PROGRAMMA_ETALON[j][1]))
 {
 int k=0;
 int d=0;
  if (MASSIV_SQL_PROGRAMMA[i][2].equals(MASSIV_SQL_PROGRAMMA_ETALON[j][2]))
      {
    k=1; //Длина равна
   }
 if (MASSIV_SQL_PROGRAMMA[i][3].equals(MASSIV_SQL_PROGRAMMA_ETALON[j][3]))
      {
    d=1; //Дата равна
   }
   %>
   <tr>
   <td width="25%" bgcolor="#0073E6" rowspan="2"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif"><%=i+1%></font></td>
  <td width="25%" bgcolor="#0073E6" rowspan="2"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif"><%=MASSIV_SQL_PROGRAMMA_ETALON[j][1]%></font></td>
  <td width="25%" bgcolor="#0073E6"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif"><%=MASSIV_SQL_PROGRAMMA_ETALON[j][2]%></font></td>
  <td width="25%" bgcolor="#0073E6"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif"><%=MASSIV_SQL_PROGRAMMA_ETALON[j][3]%></font></td>
  </tr>
  <tr>
 <% 
      if (k==0)
       {%>
   <td width="25%" bgcolor="#FF0000"><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif"><%=MASSIV_SQL_PROGRAMMA[i][2]%>&nbsp;</font></td>
 <%  }
          else
    {%>
  <td width="25%" bgcolor="#0073E6"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif"><%=MASSIV_SQL_PROGRAMMA[i][2]%></font></td>
  <% }
  
  if (d==0)
  {%>
  <td width="25%" bgcolor="#FF0000"><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif"><%=MASSIV_SQL_PROGRAMMA[i][3]%>&nbsp;</font></td>
  </tr>
  <tr>
       <td colspan="4" bgcolor="#0073E6"></td>
</tr>
<tr>
       <td colspan="4" bgcolor="#0073E6"></td>
</tr>
  <%
  }
  else
   {%>
  <td width="25%" bgcolor="#0073E6"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif"><%=MASSIV_SQL_PROGRAMMA[i][3]%></font></td>
  </tr>
  <tr>
       <td colspan="4" bgcolor="#0073E6"></td>
</tr>
<tr>
       <td colspan="4" bgcolor="#0073E6"></td>
</tr>
  <%
  }
 }
  }
}
%>
</table>
<br>

  <table width="70%" border="0" align="center">
   <tr>
   <td align="center"><div align="rleft"><input type="button" value="Закрыть окно" title="Нажмите на кнопку для того чтобы закрыть окно" onClick="Escape()"></div></td>
   </tr>
   </table>
</body>
</html>
<%
   }
   else
   {%>
  
  
  
   <html>
<head>
<%
if (TIP_OBJEKTA.equals("M"))
{%>
<title>Расхождение массивов НСИ по <%=naim_dor%></title>
<%}
%>
<%
if (TIP_OBJEKTA.equals("T"))
{%>
<title>Расхождение таблиц НСИ по <%=naim_dor%></title>
<%}
%>
<%
if (TIP_OBJEKTA.equals("D"))
{%>
<title>Расхождение DBRM по <%=naim_dor%></title>
<%}
%>
<META http-equiv=pragma content=no-cashe>
   <META http-equiv=expires content="Sat, 05 Nov 2004 00:00:00 GMT">
   <META content="Web-ARM GVC" name=description>
   <META content="Arm-SKFE, GVC" name=keywords>
   <META http-equiv=Content-Type content="text/html; charset=windows-1251">
</head>
<script language="JavaScript">
function  Escape()
{
window.close();
}
</script>
<body bgcolor="#82C0FF" leftMargin=0 topMargin=0 rightMargin=0  bottomMargin=0 marginwidth="0"
marginheight="0">
<br>
<%
if (TIP_OBJEKTA.equals("M"))
{%>
<h1 align="center">Расхождение массивов НСИ по <%=naim_dor%>! </h1>
<%}
%>
<%
if (TIP_OBJEKTA.equals("T"))
{%>
<h1 align="center">Расхождение таблиц НСИ по <%=naim_dor%>! </h1>
<%}
%>
<%
if (TIP_OBJEKTA.equals("D"))
{%>
<h1 align="center">Расхождение DBRM по <%=naim_dor%>! </h1>
<%}
%>
<br>
<br>
<% if (INFORMATION.equals("0"))
{%>
<h1 align="center" ><font color="#FFFF66" face="Verdana, Arial, Helvetica, sans-serif">Информация по <%=naim_dor%> является устаревшей! </font></h1>
<%
}
%>
<br>
<br>
<br>
<table width="70%" border="1" align="center" bgcolor="#409FFF">
<tr>
       <td width="25%" bgcolor="#0073E6"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif">Эталон ГВЦ/<%=Zamena_na_AYA(naim_dor)%>(<%=kod_dorogi%>)</font></td>
    <%
   if (TIP_OBJEKTA.equals("M"))
   {%>
   <td width="25%" bgcolor="#0073E6"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif">Имя объекта(IDTZAP[KLOB] массива)</font></td>
 <%  }
    %>
    <%
   if (TIP_OBJEKTA.equals("T"))
   {%>
   <td width="25%" bgcolor="#0073E6"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif">Имя объекта(таблицы)</font></td>
 <%  }
    %>
        <%
   if (TIP_OBJEKTA.equals("D"))
   {%>
   <td width="25%" bgcolor="#0073E6"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif">Имя объекта(DBRM)</font></td>
 <%  }
    %>
</tr>  

<tr>
       <td colspan="4" bgcolor="#0073E6"></td>
</tr>
<tr>
       <td colspan="4" bgcolor="#0073E6"></td>
</tr>

<%
for (int i=0;i<n_records;i++)
{
 for (int j=0;j<n_records1;j++)
  {
    if (MASSIV_SQL_PROGRAMMA[i][1].equals(MASSIV_SQL_PROGRAMMA_ETALON[j][1]))
 {
   %>
   <tr>
   <td width="25%" bgcolor="#0073E6"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif"><%=i+1%></font></td>
  <td width="25%" bgcolor="#FF0000"><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif"><%=MASSIV_SQL_PROGRAMMA_ETALON[j][1]%></font></td>
  </tr>
   <%
   break;
 }
 else
 {
  if (j==(n_records1-1))
      {
   System.out.println("J= "+j);
 %>
      <tr>
   <td width="25%" bgcolor="#0073E6"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif"><%=i+1%></font></td>
  <td width="25%" bgcolor="#0073E6"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif"><%=MASSIV_SQL_PROGRAMMA_ETALON[j][1]%> отсутствует в эталоне</font></td>
  </tr>
   
<%     }
     }
  }
}
%>
</table>
<br>
  <table width="70%" border="0" align="center">
   <tr>
   <td align="center"><div align="rleft"><input type="button" value="Закрыть окно" title="Нажмите на кнопку для того чтобы закрыть окно" onClick="Escape()"></div></td>
   </tr>
   </table>
</body>
</html>
  
  
  
  
  
<%   }
 }
}
catch (SQLException exe)
      {
         while (exe != null)
         {
            //System.out.println ("***check_user.jsp. Error. SQLException! ***");
            //System.out.println ("SQLState: " + exe.getSQLState());
            String ErrorMessage = exe.getMessage();
            //System.out.println ("Message: " + ErrorMessage);
            //System.out.println ("Vendor: " + exe.getErrorCode());
            //Выдаем HTML для информации об ошибке
   %>
            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
            <!-- saved from url=(0037) -->
            <HTML>
            <HEAD>
            <TITLE>МЭЙНФРЕЙМ НЕ РАБОТАЕТ или во время выполнения SQL произошла ошибка</TITLE>
            <META http-equiv=pragma content=no-cashe>
            <META http-equiv=expires content="Won, 10 Oct 2006 00:00:00 GMT">
            <META content="Web-ARM GVC" name=description>
            <META content="Arm-SKFE, GVC" name=keywords>
            <META http-equiv=Content-Type content="text/html; charset=windows-1251">
            <META content="MSHTML 6.00.2715.400" name=GENERATOR></HEAD>
            </HEAD>
            <BODY>
   <h1 align="center">
   МЭЙНФРЕЙМ НЕ РАБОТАЕТ или во время
   <br>выполнения SQL произошла ошибка
   </h1>
                  <P>
                  Сообщение об ошибке:<%=ErrorMessage %>
      <br>
      SQLState: <%=exe.getSQLState()%>
      <br>
      Vendor: <%=exe.getErrorCode()%>
      <br>
               </BODY>
               </HTML>
            <%exe = exe.getNextException ();
            }
  }
%>

И вот что она выбрасывает -

МЭЙНФРЕЙМ НЕ РАБОТАЕТ или во время
выполнения SQL произошла ошибка

Сообщение об ошибке:DSRA9110E: ResultSet is closed.
SQLState: null
Vendor: 0

P.S.

Одни и теже таблицы, у них одно и тоже содержимое.

В одном случае работает, в другом ОШИБКА!

Где подвох..........

С уважением Владимир!

Сообщ. #910196
30.01.2007 20:45
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 29.04.2007 19:12
Сообщ.: 548, Visits: 5 276
Проблема в строке 42. Ваш rs закрыт!
Сообщ. #910221
01.02.2007 15:27
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 19.02.2007 10:29
Сообщ.: 27, Visits: 83
Здравствуйте! Какая конкретно 42 строка? Что-то не могу найти эту строчку........... :(

С уважением Владимир!

Сообщ. #910291
01.02.2007 16:47
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 02.02.2008 19:48
Сообщ.: 480, Visits: 5 178
А вы поставьте в последний catch  трассировку исключения - строку "exe.printStackTrace();" . И получите в консоле вывод по которому номер строки  узнаете.  
Сообщ. #910300
02.02.2007 16:13
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 29.04.2007 19:12
Сообщ.: 548, Visits: 5 276
Похоже автор не понял шутку... 42 - "Автостопом по галактике".

1. Код в JSP читать трудно. Данный код - очень трудно и не нужно.
2. У вас есть исключение, но нет стектрейса. Поленились скопировать из логов или хотя бы из браузера? Код в вашем случае простой (опуская ридабилити), а вот трэйс надо смотреть.
3. По ключевому слову DSRA9110E www.google.com выдает примерно 200 страниц. Большинство авторов приводит стэктрейсы и они разные. Какие будут выводы?
Сообщ. #910346