Buonasera, spero che qualcuni lavori e che mi possa aiutare.
Avevo installato una versione di Mysql con un apagina asp che mi esportava degli abbonati di una rivista, tutto funzionava bene fino a che non ho dovuto aggiornare la versione di Mysql alla 5.0
se non dà fastidio posto la pagina e la commento brevemente, cerco un numero della rivista che mi serve per esportare gli abbonati e poi una volta ricavato il numero faccio l'esportazione del file.
la pagina è la seguente:
al termine incollo l'errore che mi esce fuori.
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Dim r__A
r__A = "ita"
If (Request.QueryString("tipo") <> "") Then
r__A = Request.QueryString("tipo")
End If
Dim r
Dim r_numRows
dim SqlExec
dim listaId
dim NumeroAttuale
dim sql
NumeroAttuale = request("NumeroAttuale")
Set rs = Server.CreateObject("ADODB.Recordset")
if NumeroAttuale = "" then
rs.ActiveConnection = MM_advmarea_STRING
sql = " select primo_numero as numero from fatturazione "
sql = sql & " where "
sql = sql & " valore <= now() "
sql = sql & " and valorea >= now() "
sql = sql & " and year(valorea) = " & year(date)
rs.Source = sql
rs.CursorType = 0
rs.CursorLocation = 2
rs.LockType = 1
rs.Open()
if not rs.EOF then
NumeroAttuale = rs("Numero")
'Response.Write sql
'Response.End
end if
rs.Close
end if
'SqlExec = "SELECT * FROM advmarea.clienti,advmarea.ordini1 WHERE zona LIKE '" + Replace(r__A, "'", "''") + "' AND advmarea.clienti.cust_id= advmarea.ordini1.cliente AND v_attivo <> 'ABB SCADUTO' AND v_attivo <> 'ABB IN SCADENZA'"
SqlExec = "SELECT "
SqlExec = SqlExec & " clienti.titolo_società,"
SqlExec = SqlExec & " clienti.titolo_nominativo,"
SqlExec = SqlExec & " clienti.contatto,"
SqlExec = SqlExec & " clienti.nome,"
SqlExec = SqlExec & " clienti.addr,"
SqlExec = SqlExec & " clienti.city,"
SqlExec = SqlExec & " clienti.prov,"
SqlExec = SqlExec & " clienti.zip,"
SqlExec = SqlExec & " clienti.cust_id"
SqlExec = SqlExec & " FROM "
SqlExec = SqlExec & " advmarea.clienti,"
SqlExec = SqlExec & " advmarea.ordini1"
SqlExec = SqlExec & " WHERE (zona_= 'ITA' OR zona = 'ITALIA') "
SqlExec = SqlExec & " AND advmarea.clienti.cust_id = advmarea.ordini1.cliente "
'SqlExec = SqlExec & " AND v_attivo <> 'ABB SCADUTO' AND v_attivo <> 'ABB IN SCADENZA'"
'SqlExec = SqlExec & " and (valore < now() "
'SqlExec = SqlExec & " and valorea > now() "
'SqlExec = SqlExec & " and year(valorea) = " & year(date) & ")"
SqlExec = SqlExec & " (and v_ultimo_numero > " & NumeroAttuale
SqlExec = SqlExec & " and primo_numero <= " & NumeroAttuale & ")"
listaId = ""
rs.ActiveConnection = MM_advmarea_STRING
rs.Source = SqlExec
rs.CursorType = 0
rs.CursorLocation = 2
rs.LockType = 1
'Response.Write SqlExec
'Response.End
rs.Open()
While NOT rs.EOF
listaId = listaId & rs("cust_id") & ","
rs.movenext
Wend
listaId = listaId & "0"
rs.Close
SqlExec = " SELECT "
SqlExec = SqlExec & " clienti.titolo_società,"
SqlExec = SqlExec & " clienti.titolo_nominativo,"
SqlExec = SqlExec & " clienti.contatto,"
SqlExec = SqlExec & " clienti.nome,"
SqlExec = SqlExec & " clienti.addr,"
SqlExec = SqlExec & " clienti.city,"
SqlExec = SqlExec & " clienti.prov,"
SqlExec = SqlExec & " clienti.zip,"
SqlExec = SqlExec & " clienti.cust_id"
SqlExec = SqlExec & " FROM "
SqlExec = SqlExec & " advmarea.clienti,"
SqlExec = SqlExec & " advmarea.Vendite_new"
SqlExec = SqlExec & " WHERE " 'zona = 'ITA AND'
SqlExec = SqlExec & " clienti.full_name = Vendite_new.cliente"
'SqlExec = SqlExec & " AND v_attivo <> 'ABB SCADUTO' AND v_attivo <> 'ABB IN SCADENZA'"
SqlExec = SqlExec & " and numero_pubblicazione = " & NumeroAttuale
SqlExec = SqlExec & " and zip <> '' "
SqlExec = SqlExec & " and clienti.cust_id not in (" & listaId & ")"
rs.Source = SqlExec
rs.CursorType = 0
rs.CursorLocation = 2
rs.LockType = 1
rs.Open()
While NOT rs.EOF
listaId = listaId & rs("cust_id") & ","
rs.movenext
Wend
listaId = listaId & "0"
rs.Close
SqlExec = " SELECT "
SqlExec = SqlExec & " clienti.titolo_società,"
SqlExec = SqlExec & " clienti.full_name,"
SqlExec = SqlExec & " clienti.titolo_nominativo,"
SqlExec = SqlExec & " clienti.contatto,"
SqlExec = SqlExec & " clienti.nome,"
SqlExec = SqlExec & " clienti.addr,"
SqlExec = SqlExec & " clienti.city,"
SqlExec = SqlExec & " clienti.prov,"
SqlExec = SqlExec & " clienti.zip"
SqlExec = SqlExec & " FROM "
SqlExec = SqlExec & " advmarea.clienti"
SqlExec = SqlExec & " where clienti.cust_id in (" & listaId & ")"
rs.Source = SqlExec
rs.CursorType = 0
rs.CursorLocation = 2
rs.LockType = 1
'Response.Write "<html>"
'Response.Write "<body>"
'Response.Write sqlexec
'Response.Write "</body>"
'Response.Write "</html>"
rs.Open()
Dim Repeat1__numRows
Dim Repeat1__index
Repeat1__numRows = -1
Repeat1__index = 0
r_numRows = r_numRows + Repeat1__numRows
TestoFile =""
'NomeFileExp = Server.MapPath("\temp\") & "\" & day(date) & month(date) & hour(now) & minute(now) & ".txt"
NomeFileExp = Server.MapPath("\temp\") & "\" & day(date) & month(date) & hour(now) & minute(now) & ".cab"
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set fileObject = fso.CreateTextFile(nomefileexp,1)
While NOT rs.EOF
TestoFile = rs("titolo_società") & "#" & rs("full_name") & "#" & rs("titolo_nominativo") & "#" & rs("contatto")& "#" & rs("nome")& "#" & rs("addr")& "#" & rs("city")& "#" & rs("prov")& "#" & rs("zip")
testofile = replace(testofile,vbcrlf,"")
fileobject.writeline(testofile)
rs.MoveNext()
Wend
rs.Close()
'response.write "\temp\" & "\" & day(date) & month(date) & hour(now) & minute(now) & ".txt"
'response.end
'fso.CopyFile nomefileexp ,Server.MapPath("\temp\") & "\" & day(date) & month(date) & hour(now) & minute(now) & "2.txt"
response.Redirect "\Temp\" & "\" & day(date) & month(date) & hour(now) & minute(now) & ".cab"
Set rs = Nothing
set fileobject = nothing
set fso =nothing
%>
l'errore è il segunte( ho messo in grassetto,nella pagina, anche la riga dell'errore):
Tipo di errore:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[MySQL][ODBC 3.51 Driver][mysqld-4.1.22-community-nt]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(and v_ultimo_numero > 226 and primo_numero <= 226)' at line 1
/advmarea/italia.asp, line 73
grazie se potete
Maurizio

Rispondi quotando
