196 messaggi dal 05 luglio 2001
ho una pagina chiamata scheda_app.asp che apre una scheda appartamento ed esegue una query in base al valore idapp e idlingua, rispettivamente una variabile estrapolata dal link cliccato dall'utente (request.querystring) e una session .

eccovi l'errore

Informazioni tecniche (per il personale del supporto tecnico)

Tipo di errore:
(0x80004005)
Errore non specificato.
/web/jbbitaly/scheda_app.asp, line 55


eccovi la query incriminata

SQL2 = "SELECT appartamenti.idapp, appartamenti.soli, appartamenti.Nome, appartamenti.serviziagg, appartamenti.Località as localita, appartamenti.PeriodoDa, appartamenti.PeriodoA, appartamenti.PostiLetto, appartamenti.PrezzoNotte, appartamenti.urlFoto1, TraduzioneTipiTabella.traduzione AS tipoapp, sconti.sconti, trad_zone.trad_zona AS zona, tradtipicolazione.tradtipicolazione AS colazione, trad_tipibagno.tradtipibagno AS bagno, Descrizioni.descrizione, Lingue.idlingua FROM [zone] INNER JOIN (tipisconto INNER JOIN (tipicolazione INNER JOIN (tipibagno INNER JOIN (tipiapp INNER JOIN ((((((Lingue INNER JOIN (appartamenti INNER JOIN Descrizioni ON appartamenti.idapp = Descrizioni.idapp) ON Lingue.idlingua = Descrizioni.idlingua) INNER JOIN sconti ON Lingue.idlingua = sconti.idlingua) INNER JOIN trad_tipibagno ON Lingue.idlingua = trad_tipibagno.idlingua) INNER JOIN trad_zone ON Lingue.idlingua = trad_zone.idlingua) INNER JOIN tradtipicolazione ON Lingue.idlingua = tradtipicolazione.idlingua) INNER JOIN TraduzioneTipiTabella ON Lingue.idlingua = TraduzioneTipiTabella.idlingua) ON (tipiapp.idtipoapp = TraduzioneTipiTabella.idtipoapp) AND (tipiapp.idtipoapp = appartamenti.idtipoapp)) ON (tipibagno.idtipibagno = trad_tipibagno.idtipibagno) AND (tipibagno.idtipibagno = appartamenti.idtipibagno)) ON (tipicolazione.idtipocolazione = tradtipicolazione.idtipocolazione) AND (tipicolazione.idtipocolazione = appartamenti.idTipoColazione)) ON (tipisconto.idtiposconto = sconti.idtiposconto) AND (tipisconto.idtiposconto = appartamenti.idtiposconto)) ON (zone.idzone = trad_zone.idzone) AND (zone.idzone = appartamenti.idzone) WHERE (((appartamenti.idapp)="&idapp&") AND ((Lingue.idlingua)="&lingua&"));"
set rs = Server.CreateObject("ADODB.Recordset")
rs.open SQL2, conn


dite che è lei il prob? io non ne vengo fuori.....

grazie a tutti per l'aiuto sin d'ora

[Ph{r}ek]-- 18 ANNI il 28 settembre 2002 (voglio gli auguri) :)
Html and ASP , ASP.NET Developer nonchè Gran Incasinator
www.nd.too.it
11.886 messaggi dal 09 febbraio 2002
Contributi
perchè non costruisci un database un po' più semplice?

Non è proficuo lavorare con query così articolate, sia per te (per fare un debug su quella roba ci perdi un giorno), sia per il server: se hai tanti utenti connessi è meglio snellire le select il più possibile (specie con access).

Enjoy learning and just keep making
196 messaggi dal 05 luglio 2001
sono indispensabili per garantire l'integrita referenziale dei dati. nel sito tutti i contenuti sono personalizzabili da database e gia questo rende complesso il tutto , poi c'è anke il catalogo ovviamente personalizzabile poi c'è un numero infinito di lingue supportate, per poter fare versioni multilingua del sito utilizzando la stessa struttura e modificando solo il db access dotato anche esso di maschere per la modifica off line di tutto il sito.
cmq credi ke nello specifico l'errore sia dovuto alla query?

[Ph{r}ek]-- 18 ANNI il 28 settembre 2002 (voglio gli auguri) :)
Html and ASP , ASP.NET Developer nonchè Gran Incasinator
www.nd.too.it
11.886 messaggi dal 09 febbraio 2002
Contributi
Niente è indispensabile, esistono tanti approcci per ogni questione, con i loro pro e contro.

Per le join io uso questa tecnica:

tab1 INNER JOIN (tab2 INNER join (tab3 INNER JOIN tab4 ON tab3.id = tab4.id) on tab2.id = tab3.id) ON tab1.id = tab2.id

un pezzo della tua join fa così:
tipicolazione INNER JOIN (tipibagno INNER JOIN (tipiapp INNER JOIN ((((((Lingue INNER

che sono tutte quelle parentesi insieme? queste join non seguono una logica lineare, difficile sapere dov'è l'errore, la stringa è lunghissima.
Ma poi perchè scrivi così:
SELECT [...] appartamenti.Località as localita
serve solo ad allungare di più il codice.
Se scrivi
rs("Località")
oppure
rs("localita")
che ti cambia?

Anch'io devo costruire siti internazionali per lavoro, proprio ora devo gestire un database con 25 tabelle, ma ho organizzato i dati in modo da non fare più di 3 o 4 inner join. Ti pare sensato fare 12 join? E poi che prestazioni hai?


Enjoy learning and just keep making
1.818 messaggi dal 21 giugno 2001
Contributi
Se la query estrapola tanti dati, il rallentamento è dovuto anche alla visualizzazione! Prova a fare una paginazione a gruppi di 50, e vedrai che la pagina non si bloccca più (sempre che il problema sia solo questo...)

hyppos
<code> in giro torte sol ciclos et rotor igni</code>
196 messaggi dal 05 luglio 2001
in realtà questa query dovra avere sempre come risultatoto un solo record , quindi non esiste alcun prob di paginazione , al contrario mi si blocca l'esecuzione della pagina ...... errore non specificato ora vi mando la pagina.


<%@ language="vbscript" %>
<%
Response.ExpiresAbsolute = now()-2
Response.Addheader "pragma","no-cache"
Response.Addheader "cache-control","private"
Response.Cachecontrol="no-cache"

' recupero il codice appartamento tramite il metodo request.querystring
idapp=request.querystring("idapp")
lingua=session("lingua")
'connessione al database ed estrapolazione contenuti
dim conn, strconn
strconn= "Provider = Microsoft.Jet.Oledb.4.0; Data Source = "&_
Server.MapPath("mdb-database/bbitaly.mdb")
Set conn = Server.CreateObject("ADODB.connection")
Conn.open StrConn

'attribuzione valori traduzione a variabili

SQL = "SELECT * FROM traduttore WHERE idlingua="&lingua&" "
set rs = Server.CreateObject("ADODB.Recordset")
rs.open SQL, conn

'IL PREFISSO TR DAVANTI ALLE VARIABILI CHE IDENTIFICANO LE PARTICELLE DA TRADURRE DISTINGUONO QUESTE
'VARIABILI DA QUELLE RELATIVE ALLA SUCCESSIVA QUERY

Do while not rs.eof
trNome=rs("Nome")
trTipo=rs("Tipo")
trLocalita=rs("Localita")
trZona=rs("Zona")
trColazione=rs("Colazione")
trPostiLetto=rs("Posti Letto")
trBagno=rs("Bagno")
trDisponibilita=rs("Disponibilita")
trPrezzoNotte=rs("PrezzoNotte")
trDescrizione=rs("Descrizione")
trPrenota=rs("Prenota")
trRichiedialtreInfo=rs("RichiedialtreInfo")
trChiudi=rs("Chiudi")
trSconti=rs("sconti")
trServiziAgg=rs("serviziagg")
rs.movenext
loop

rs.close
set rs=nothing

'estrapolazione altri dati

'attribuzione valori traduzione a variabili

SQL2 = "SELECT appartamenti.idapp, appartamenti.soli, appartamenti.Nome, appartamenti.serviziagg, appartamenti.Località as localita, appartamenti.PeriodoDa, appartamenti.PeriodoA, appartamenti.PostiLetto, appartamenti.PrezzoNotte, appartamenti.urlFoto1, TraduzioneTipiTabella.traduzione AS tipoapp, sconti.sconti, trad_zone.trad_zona AS zona, tradtipicolazione.tradtipicolazione AS colazione, trad_tipibagno.tradtipibagno AS bagno, Descrizioni.descrizione, Lingue.idlingua FROM [zone] INNER JOIN (tipisconto INNER JOIN (tipicolazione INNER JOIN (tipibagno INNER JOIN (tipiapp INNER JOIN ((((((Lingue INNER JOIN (appartamenti INNER JOIN Descrizioni ON appartamenti.idapp = Descrizioni.idapp) ON Lingue.idlingua = Descrizioni.idlingua) INNER JOIN sconti ON Lingue.idlingua = sconti.idlingua) INNER JOIN trad_tipibagno ON Lingue.idlingua = trad_tipibagno.idlingua) INNER JOIN trad_zone ON Lingue.idlingua = trad_zone.idlingua) INNER JOIN tradtipicolazione ON Lingue.idlingua = tradtipicolazione.idlingua) INNER JOIN TraduzioneTipiTabella ON Lingue.idlingua = TraduzioneTipiTabella.idlingua) ON (tipiapp.idtipoapp = TraduzioneTipiTabella.idtipoapp) AND (tipiapp.idtipoapp = appartamenti.idtipoapp)) ON (tipibagno.idtipibagno = trad_tipibagno.idtipibagno) AND (tipibagno.idtipibagno = appartamenti.idtipibagno)) ON (tipicolazione.idtipocolazione = tradtipicolazione.idtipocolazione) AND (tipicolazione.idtipocolazione = appartamenti.idTipoColazione)) ON (tipisconto.idtiposconto = sconti.idtiposconto) AND (tipisconto.idtiposconto = appartamenti.idtiposconto)) ON (zone.idzone = trad_zone.idzone) AND (zone.idzone = appartamenti.idzone) WHERE (((appartamenti.idapp)="&idapp&") AND ((Lingue.idlingua)="&lingua&"));"
set rs = Server.CreateObject("ADODB.Recordset")
rs.open SQL2, conn

Do while not rs.eof

soli=rs("soli")
nome=rs("nome")
serviziagg=rs("serviziagg")
localita=rs("localita")
PeriodoDa=rs("PeriodoDa")
PeriodoA=rs("PeriodoA")
PostiLetto=rs("PostiLetto")
PrezzoNotte=rs("PrezzoNotte")
ulrfoto1=rs("urlFoto1")
tipo=rs("tipoapp")
Sconti=rs("sconti")
Zona=rs("Zona")
Colazione=rs("Colazione")
Bagno=rs("Bagno")
Descrizione=rs("Descrizione")




rs.movenext
loop
rs.close
set rs=nothing
%>
<html>
<head><title> </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel=stylesheet href="css/style.css" type="text/css">
</head>

<body text="#000000">
<table width='100%'><tr><td>
<table><tr class='titoloapp'><td bgcolor="#003399"></td><td>
<%for i=1 to 3
response.write"<img src='minijpg/sun.jpg'>"
next %></td></tr><tr><td>
<table border="0">

<tr>
<td class='vocischeda'><% response.write Ucase(trTipo) %></td>
<td></td>
</tr>
<tr>
<td class='vocischeda'>LOCALITA'</td>
<td></td>
</tr>
<tr>
<td class='vocischeda'>ZONA</td>
<td></td>
</tr>
<tr>
<td class='vocischeda'>COLAZIONE</td>
<td></td>
</tr>
<tr>
<td class='vocischeda'>POSTI LETTO</td>
<td></td>
</tr> <tr>
<td class='vocischeda'>BAGNO</td>
<td></td>
</tr> <tr>
<td class='vocischeda'>DISPONIBILITA'</td>
<td></td>
</tr>
</table></td><td>
<TABLE><tr>></tr></TABLE></td></tr></table>
<td align='right' valign="top"><img src="minigif/beblogo.gif" width="88" height="84"></td>
<table width="100%" border="0">
<tr>
<td class='vocischeda' width="25%">PREZZO PER NOTTE</td>
<td class='vocischeda' width="75%">SCONTI</td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
<table width='100%'><tr><td class='vocischeda'>DESCRIZIONE </td></tr><tr>
<td bordercolor="#0099FF"></td>
</tr></table></td></tr><tr>
<td align="right"> <a href='modulo.asp'>modulo</a>
<% response.write "<input class='btmsearch' type='button' value='"&trRichiediAltreInfo&"'>"
response.write "<input class='btmsearch' type='button' value='"&trChiudi&"' onClick='javascript:window.close();' ></td></tr></table>"

response.write "<form action='prenotazione.asp' method='post' name='prenotazione'>"

response.write"<input class='btmsearch' type='submit' value='Prenota'></form>"

conn.close
set conn=nothing %>
</body>
</html>

[Ph{r}ek]-- 18 ANNI il 28 settembre 2002 (voglio gli auguri) :)
Html and ASP , ASP.NET Developer nonchè Gran Incasinator
www.nd.too.it
Se ti va prova a mandarmi il DB via mail che ci butto un occhio. Comunque il test è abbastanza semplice. Quando esegui la query in locale quanto tempo ci mette? Non penso che comunque sia un Timeout perchè altrimenti ti uscirebbe l'errore di Timeout della pagina e non eccezione. Secondo me il problema è un altro ma purtroppo senza poter mettere le mani nè al codice, nè al DB la cosa è un po' complessa..

--
Andrea Palmatè
196 messaggi dal 05 luglio 2001
se elimino la query la pagina mi viene caricata , per questo pensavo che il prob dipendesse da essa , se vuoi andrea ti mando il db ma per correttezza devo dirti che è 1,3 mb (contiene maschere di inserimento ecc) . se per te non è un problema.....

grazie di tutto


[Ph{r}ek]-- 18 ANNI il 28 settembre 2002 (voglio gli auguri) :)
Html and ASP , ASP.NET Developer nonchè Gran Incasinator
www.nd.too.it

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.