[ infob @ 02.11.2007. 10:52 ] @
Pozdrav! Da li neko moze da mi kaze, zasto dobijam ovu gresku: Code: Ona mi se pojavljuje na jos stranica (identicna) samo drugi naziv polja, naravno.java.sql.SQLException: ORA-00904: "TABELA": invalid identifier" Web application-u radim u jdeveloper-u, a DBMS je Oracle XE. Naime, gresku dobijam pri pokusaju da vrijednosti, upisana u polja, klikom na "DODAJ", dodam u bazu. Za prvu vrijednost "ID Atributa Za Multimedijalni Materijal" ("ID_A_Z_MM_M"), kao i za "Rucno upisivanje" vrijednosti prodju, ali ostale ne. jsp stranica: Code: <%@ page session="true" buffer="16kb" import="java.sql.*,java.util.*,java.text.*"%> <%@ page import="oracle.jdbc.*" %> <%@ page contentType="text/html; charset=utf-8" %> <% Locale locale = Locale.getDefault(); response.setLocale(locale);%> <% session.setMaxInactiveInterval(30*60); %> <% String login = (String) session.getAttribute("m_n_z_status"); if (login == null || !login.equals("login")) { response.sendRedirect("login.jsp"); response.flushBuffer(); return; }%> <%int ewAllowAdmin = 16; int ewCurSec = 31;%> <%@ include file="db.jsp" %> <%@ include file="jspmkrfn.jsp" %> <% String tmpfld = null; String escapeString = "''"; request.setCharacterEncoding("utf-8"); // Get action String a = request.getParameter("a"); String key = ""; if (a == null || a.length() == 0) { key = request.getParameter("key"); if (key != null && key.length() > 0) { a = "C"; // Copy record } else { a = "I"; // Display blank record } } Object x_ID_A_Z_MM_M = null; Object x_Naziv_A_Z_MM_M = null; Object x_Rucno_Upisivanje = null; Object x_Kolona = null; Object x_Tabela = null; // Open Connection to the database try{ Statement stmt = (Statement) conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); stmt.executeUpdate("ALTER SESSION SET CURRENT_SCHEMA = NIKOLA"); ResultSet rs = null; if (a.equals("C")){ // Get a record to display String tkey = "'" + key.replaceAll("'",escapeString) + "'"; String strsql = "SELECT * FROM \"Atribut_Za_MM_Materijal\" WHERE \"ID_A_Z_MM_M\"=" + tkey; rs = (ResultSet) stmt.executeQuery(strsql); if (!rs.next()){ rs.close(); rs = null; stmt.close(); stmt = null; conn.close(); conn = null; out.clear(); response.sendRedirect("Atribut_Za_MM_Materijallist.jsp"); response.flushBuffer(); return; } rs.first(); // Get the field contents if (rs.getString("ID_A_Z_MM_M") != null){ x_ID_A_Z_MM_M = rs.getString("ID_A_Z_MM_M"); }else{ x_ID_A_Z_MM_M = ""; } if (rs.getString("Naziv_A_Z_MM_M") != null){ x_Naziv_A_Z_MM_M = rs.getString("Naziv_A_Z_MM_M"); }else{ x_Naziv_A_Z_MM_M = ""; } x_Rucno_Upisivanje = String.valueOf(rs.getLong("Rucno_Upisivanje")); if (rs.getString("Kolona") != null){ x_Kolona = rs.getString("Kolona"); }else{ x_Kolona = ""; } if (rs.getString("Tabela") != null){ x_Tabela = rs.getString("Tabela"); }else{ x_Tabela = ""; } rs.close(); rs = null; }else if (a.equals("A")) { // Add // Get fields from form if (request.getParameter("x_ID_A_Z_MM_M") != null){ x_ID_A_Z_MM_M = (String) request.getParameter("x_ID_A_Z_MM_M"); }else{ x_ID_A_Z_MM_M = ""; } if (request.getParameter("x_Naziv_A_Z_MM_M") != null){ x_Naziv_A_Z_MM_M = (String) request.getParameter("x_Naziv_A_Z_MM_M"); }else{ x_Naziv_A_Z_MM_M = ""; } if (request.getParameter("x_Rucno_Upisivanje") != null){ x_Rucno_Upisivanje = (String) request.getParameter("x_Rucno_Upisivanje"); }else{ x_Rucno_Upisivanje = ""; } if (request.getParameter("x_Kolona") != null){ x_Kolona = (String) request.getParameter("x_Kolona"); }else{ x_Kolona = ""; } if (request.getParameter("x_Tabela") != null){ x_Tabela = (String) request.getParameter("x_Tabela"); }else{ x_Tabela = ""; } // Open record conn.setAutoCommit(false); String strFileID = "\"ID_A_Z_MM_M\""; String strField = ""; String strValues = ""; String sql = null; String strsql = null; tmpfld = (String) x_ID_A_Z_MM_M; sql = "SELECT * FROM \"Atribut_Za_MM_Materijal\" WHERE " + strFileID + " = '" + tmpfld.replaceAll("'",escapeString) + "'"; Statement stmtchkpk = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet rschkpk = stmtchkpk.executeQuery(sql); if (rschkpk.next()) { out.println("Duplicate key for ID, value = " + tmpfld + "<br>"); out.println("Press [Previous Page] key to continue!"); return; } rschkpk.close(); rschkpk = null; strField = "\"ID_A_Z_MM_M\"" + ","; strValues = "'" + ((String) x_ID_A_Z_MM_M).replaceAll("'",escapeString) + "',"; strValues = strValues.substring(0,strValues.length()-1); strField = strField.substring(0,strField.length()-1); sql = "INSERT INTO \"Atribut_Za_MM_Materijal\" (" + strField + ") VALUES (" + strValues + ")"; //out.println(sql); stmt.execute(sql); conn.commit(); strFileID = "\"ID_A_Z_MM_M\""; tmpfld = "'" + ((String)x_ID_A_Z_MM_M).replaceAll("'",escapeString) + "'"; strsql = "SELECT t.* FROM \"Atribut_Za_MM_Materijal\" t WHERE " + strFileID + "=" + tmpfld + " FOR UPDATE"; rs = (ResultSet) stmt.executeQuery(strsql); rs.first(); // Field ID_A_Z_MM_M tmpfld = ((String) x_ID_A_Z_MM_M); if (tmpfld == null || tmpfld.trim().length() == 0) { tmpfld = ""; } if (tmpfld == null) { rs.updateNull("ID_A_Z_MM_M"); }else{ rs.updateString("ID_A_Z_MM_M", tmpfld); } // Field Naziv_A_Z_MM_M tmpfld = ((String) x_Naziv_A_Z_MM_M); if (tmpfld == null || tmpfld.trim().length() == 0) { tmpfld = null; } if (tmpfld == null) { rs.updateNull("Naziv_A_Z_MM_M"); }else{ rs.updateString("Naziv_A_Z_MM_M", tmpfld); } // Field Rucno_Upisivanje tmpfld = ((String) x_Rucno_Upisivanje).trim(); if (!IsNumeric(tmpfld)) { tmpfld = null;} if (tmpfld != null) { rs.updateLong("Rucno_Upisivanje", Long.parseLong(tmpfld)); } else { rs.updateNull("Rucno_Upisivanje"); } // Field Kolona tmpfld = ((String) x_Kolona); if (tmpfld == null || tmpfld.trim().length() == 0) { tmpfld = null; } if (tmpfld == null) { rs.updateNull("Kolona"); }else{ rs.updateString("Kolona", tmpfld); } // Field Tabela tmpfld = ((String) x_Tabela); if (tmpfld == null || tmpfld.trim().length() == 0) { tmpfld = null; } if (tmpfld == null) { rs.updateNull("Tabela"); }else{ rs.updateString("Tabela", tmpfld); } rs.updateRow(); rs.close(); rs = null; stmt.close(); stmt = null; conn.close(); conn = null; out.clear(); response.sendRedirect("Atribut_Za_MM_Materijallist.jsp"); response.flushBuffer(); return; } }catch (SQLException ex){ out.println(ex.toString()); } %> <%@ include file="header.jsp" %> <p><span class="jspmaker">Dodaj u tabelu : Atribut Za MM Materijal<br> <br> <a href="Atribut_Za_MM_Materijallist.jsp">Povratak na listu </a></span></p> <script language="JavaScript" src="ew.js"></script> <script language="JavaScript"> <!-- start Javascript function EW_checkMyForm(EW_this) { if (EW_this.x_ID_A_Z_MM_M && !EW_hasValue(EW_this.x_ID_A_Z_MM_M, "TEXT" )) { if (!EW_onError(EW_this, EW_this.x_ID_A_Z_MM_M, "TEXT", "Invalid Field - ID A Z MM M")) return false; } if (EW_this.x_Rucno_Upisivanje && !EW_checkinteger(EW_this.x_Rucno_Upisivanje.value)) { if (!EW_onError(EW_this, EW_this.x_Rucno_Upisivanje, "TEXT", "Incorrect integer - Rucno Upisivanje")) return false; } return true; } // end JavaScript --> </script> <form onSubmit="return EW_checkMyForm(this);" action="Atribut_Za_MM_Materijaladd.jsp" method="post"> <p> <input type="hidden" name="a" value="A"> <table width="100%" border="0" cellspacing="3" cellpadding="3" bgcolor="#CCCCCC"> <tr> <td width="28%" bgcolor="#CC6600"><span class="jspmaker" style="color: #FFFFFF;">ID <span class="jspmaker" style="color: #FFFFFF;">Atributa Za Multimedijalni Materijal</span> </span> </td> <td width="72%" bgcolor="#DCDCDC"><span class="jspmaker"> <input type="text" name="x_ID_A_Z_MM_M" size="30" maxlength="20" value="<%= HTMLEncode((String)x_ID_A_Z_MM_M) %>"></span> </td> </tr> <tr> <td bgcolor="#CC6600"><span class="jspmaker" style="color: #FFFFFF;">Naziv <span class="jspmaker" style="color: #FFFFFF;">Atributa Za Multimedijalni Materijal</span> </span> </td> <td bgcolor="#DCDCDC"><span class="jspmaker"><input type="text" name="x_Naziv_A_Z_MM_M" size="30" maxlength="20" value="<%= HTMLEncode((String)x_Naziv_A_Z_MM_M) %>"></span> </td> </tr> <tr> <td bgcolor="#CC6600"><span class="jspmaker" style="color: #FFFFFF;">Rucno Upisivanje</span> </td> <td bgcolor="#DCDCDC"><span class="jspmaker"><input type="text" name="x_Rucno_Upisivanje" size="30" value="<%= HTMLEncode((String)x_Rucno_Upisivanje) %>"></span> </td> </tr> <tr> <td bgcolor="#CC6600"><span class="jspmaker" style="color: #FFFFFF;">Kolona</span> </td> <td bgcolor="#DCDCDC"><span class="jspmaker"><input type="text" name="x_Kolona" size="30" maxlength="20" value="<%= HTMLEncode((String)x_Kolona) %>"></span> </td> </tr> <tr> <td bgcolor="#CC6600"><span class="jspmaker" style="color: #FFFFFF;">Tabela</span> </td> <td bgcolor="#DCDCDC"><span class="jspmaker"><input type="text" name="x_Tabela" size="30" maxlength="20" value="<%= HTMLEncode((String)x_Tabela) %>"></span> </td> </tr> </table> <p> <input type="submit" name="Action" value="DODAJ"> </form> <%@ include file="footer.jsp" %> ...a evo i sql skript, preko koga sam dobio tabele u Oracle-u, u koliko je mozda u njemu problem: Code: /* Created 10/2/2007 Modified 10/2/2007 Project Model Company Author Version Database Oracle 10g */ Drop table "Tip_Sadrzaja" / Drop table "Tip_Lokacije_MM_Sadrzaja" / Drop table "Multimedijalni_Materijal" / Drop table "MM_Materijal_Na_Mediju" / Drop table "Atribut_Za_Tip_Sadrzaja" / Drop table "Medij" / Drop table "Atribut_Za_MM_Materijal" / Drop table "Vrijednost_Atrib_Za_MM_M" / Drop table "Izvodjaci" / Drop table "Tip_Izvodjaca" / Drop table "Format" / Drop table "Tip_Medija" / Drop table "Osnovna_Tema" / -- Create Types section -- Create Tables section Create table "Osnovna_Tema" ( "ID_O_T" Varchar2(20) NOT NULL , "Naziv_OT" Varchar2(20), "ID_T_S" Varchar2(20) NOT NULL , primary key ("ID_O_T","ID_T_S") ) / Create table "Tip_Medija" ( "ID_T_M" Varchar2(20) NOT NULL , "Naziv_T_M" Varchar2(20), primary key ("ID_T_M") ) / Create table "Format" ( "ID_F" Varchar2(20) NOT NULL , "Naziv_F" Varchar2(20), primary key ("ID_F") ) / Create table "Tip_Izvodjaca" ( "ID_T_I" Varchar2(20) NOT NULL , "Naziv_T_I" Varchar2(20), primary key ("ID_T_I") ) / Create table "Izvodjaci" ( "Redni_Broj_I" Varchar2(20) NOT NULL , "Naziv_I" Varchar2(20), "ID_T_I" Varchar2(20) NOT NULL , primary key ("Redni_Broj_I","ID_T_I") ) / Create table "Vrijednost_Atrib_Za_MM_M" ( "Vrijednost_A_MM_M" Varchar2(20), "ID_A_Z_MM_M" Varchar2(20) NOT NULL , "ID_T_S" Varchar2(20) NOT NULL , "ID_MM_M" Varchar2(20) NOT NULL , primary key ("ID_A_Z_MM_M","ID_T_S","ID_MM_M") ) / Create table "Atribut_Za_MM_Materijal" ( "ID_A_Z_MM_M" Varchar2(20) NOT NULL , "Naziv_A_Z_MM_M" Varchar2(20), "Rucno_Upisivanje" Integer, "Kolona" Varchar2(20), "Tabela" Varchar2(20), primary key ("ID_A_Z_MM_M") ) / Create table "Medij" ( "ID_M" Varchar2(20) NOT NULL , "Kolicina_M" Integer NOT NULL , "ID_T_M" Varchar2(20) NOT NULL UNIQUE , "ID_F" Varchar2(20) NOT NULL UNIQUE , primary key ("ID_M") ) / Create table "Atribut_Za_Tip_Sadrzaja" ( "ID_A_Z_MM_M" Varchar2(20) NOT NULL , "ID_T_S" Varchar2(20) NOT NULL , primary key ("ID_A_Z_MM_M","ID_T_S") ) / Create table "MM_Materijal_Na_Mediju" ( "ID_MM_M" Varchar2(20) NOT NULL , "ID_M" Varchar2(20) NOT NULL , primary key ("ID_MM_M","ID_M") ) / Create table "Multimedijalni_Materijal" ( "ID_MM_M" Varchar2(20) NOT NULL , "Skraceni_Naziv_M_M" Varchar2(20), "Lokacija_M_M" Varchar2(20), "Putanja_M_M" Varchar2(20), "Naziv_Medija_M_M" Varchar2(20), "ID_O_T" Varchar2(20) NOT NULL , "ID_T_S" Varchar2(20) NOT NULL , "ID_T_L_MM_S" Varchar2(20) NOT NULL , "URL" Varchar2(20), "Zemlja" Varchar2(20), "Godina" Varchar2(20), "Naziv_Pjesme" Varchar2(20), "Naziv_Albuma" Varchar2(20), "Vrsta_Muzike" Varchar2(20), primary key ("ID_MM_M") ) / Create table "Tip_Lokacije_MM_Sadrzaja" ( "ID_T_L_MM_S" Varchar2(20) NOT NULL , "Naziv_T_L_MM_S" Varchar2(20), "Download_Mogucnost" Integer, primary key ("ID_T_L_MM_S") ) / Create table "Tip_Sadrzaja" ( "ID_T_S" Varchar2(20) NOT NULL , "Naziv_T_S" Varchar2(20), primary key ("ID_T_S") ) / -- Create Alternate keys section -- Create Indexes section -- Create Foreign keys section Alter table "Multimedijalni_Materijal" add foreign key ("ID_O_T","ID_T_S") references "Osnovna_Tema" ("ID_O_T","ID_T_S") / Alter table "Medij" add foreign key ("ID_T_M") references "Tip_Medija" ("ID_T_M") / Alter table "Medij" add foreign key ("ID_F") references "Format" ("ID_F") / Alter table "Izvodjaci" add foreign key ("ID_T_I") references "Tip_Izvodjaca" ("ID_T_I") / Alter table "Atribut_Za_Tip_Sadrzaja" add foreign key ("ID_A_Z_MM_M") references "Atribut_Za_MM_Materijal" ("ID_A_Z_MM_M") / Alter table "MM_Materijal_Na_Mediju" add foreign key ("ID_M") references "Medij" ("ID_M") / Alter table "Vrijednost_Atrib_Za_MM_M" add foreign key ("ID_A_Z_MM_M","ID_T_S") references "Atribut_Za_Tip_Sadrzaja" ("ID_A_Z_MM_M","ID_T_S") / Alter table "Vrijednost_Atrib_Za_MM_M" add foreign key ("ID_MM_M") references "Multimedijalni_Materijal" ("ID_MM_M") / Alter table "MM_Materijal_Na_Mediju" add foreign key ("ID_MM_M") references "Multimedijalni_Materijal" ("ID_MM_M") / Alter table "Multimedijalni_Materijal" add foreign key ("ID_T_L_MM_S") references "Tip_Lokacije_MM_Sadrzaja" ("ID_T_L_MM_S") / Alter table "Osnovna_Tema" add foreign key ("ID_T_S") references "Tip_Sadrzaja" ("ID_T_S") / Alter table "Atribut_Za_Tip_Sadrzaja" add foreign key ("ID_T_S") references "Tip_Sadrzaja" ("ID_T_S") / -- Create Object Tables section -- Create XMLType Tables section -- Create Procedures section -- Create Functions section -- Create Views section -- Create Sequences section -- Create Triggers from referential integrity section -- Create user Triggers section -- Create Packages section -- Create Synonyms section -- Create Roles section -- Users Permissions to roles section -- Roles Permissions section /* Roles permissions */ -- User Permissions section /* Users permissions */ -- Create Table comments section -- Create Attribute comments section -- After section Unaprijed hvala svima na pomoci! |