Devo importare i dati della tabella Anag da un database Origine, ad uno Destinazione.
Le tabelle sono identiche, ma la funzione, superati i 500 record, mi va in errore, e mai sullo stessa riga dello script.
Onde evitare errori dovuti a sintassi sql errata, ho preferito usare i recordset.
Per finire, i dati aggiornati sul database Origine vanno a sovrascrivere semplicemente quelli di Destinazione, e mai ad aggiungersi in coda.
Le righe da importare sono più di 20000.
Questo è il codice
Codice sorgente - presumibilmente Visual Basic
-----------
Set connO = server.createobject("ADODB.Connection")
Set connD = server.createobject("ADODB.Connection")
Set rstO = server.createobject("ADODB.Recordset")
Set rstD = server.createobject("ADODB.Recordset")
connO.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("Origine.mdb") & ";Pwd=pluto;"
connD.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("Destinazione.mdb") & ";Pwd=pluto;"
rstO.Open "Select top 5000 * FROM Anag ", connO, 3,3
If Not rstO.eof Then
rstO.movefirst
End If
i=0
k=0
z=0
k = rstO.fields.count
While Not rstO.eof
rstD.Open "Select * FROM Anag WHERE ID = " & rstO.fields("ID").value, connD, 3,3
z = rstD.recordcount
If z > 0 Then 'Qui iniziano gli errori
response.Write "ID importazione: <b>" & rstD.fields(0).value & "</b><br>"
For i = 1 To k - 1
rstD.fields(i).value = rstO.fields(i).value
Next
rstD.update
response.Write "<B>Riga Importata</B><p>*********************************************************************</p>"
End If 'Qui finiscono gli errori
rstD.Close
rstO.movenext
Wend
Set rstD = Nothing
connD.Close
Set connD = Nothing
rstO.Close
Set rstO = Nothing
connO.Close
Set connO = Nothing
response.End
-----------
Le righe che generano l'errore sono quelle dell'if presente all'interno del ciclo while.
Vi ringranzio in anticipo per l'aiuto
Le tabelle sono identiche, ma la funzione, superati i 500 record, mi va in errore, e mai sullo stessa riga dello script.
Onde evitare errori dovuti a sintassi sql errata, ho preferito usare i recordset.
Per finire, i dati aggiornati sul database Origine vanno a sovrascrivere semplicemente quelli di Destinazione, e mai ad aggiungersi in coda.
Le righe da importare sono più di 20000.
Questo è il codice
Codice sorgente - presumibilmente Visual Basic
-----------
Set connO = server.createobject("ADODB.Connection")
Set connD = server.createobject("ADODB.Connection")
Set rstO = server.createobject("ADODB.Recordset")
Set rstD = server.createobject("ADODB.Recordset")
connO.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("Origine.mdb") & ";Pwd=pluto;"
connD.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("Destinazione.mdb") & ";Pwd=pluto;"
rstO.Open "Select top 5000 * FROM Anag ", connO, 3,3
If Not rstO.eof Then
rstO.movefirst
End If
i=0
k=0
z=0
k = rstO.fields.count
While Not rstO.eof
rstD.Open "Select * FROM Anag WHERE ID = " & rstO.fields("ID").value, connD, 3,3
z = rstD.recordcount
If z > 0 Then 'Qui iniziano gli errori
response.Write "ID importazione: <b>" & rstD.fields(0).value & "</b><br>"
For i = 1 To k - 1
rstD.fields(i).value = rstO.fields(i).value
Next
rstD.update
response.Write "<B>Riga Importata</B><p>*********************************************************************</p>"
End If 'Qui finiscono gli errori
rstD.Close
rstO.movenext
Wend
Set rstD = Nothing
connD.Close
Set connD = Nothing
rstO.Close
Set rstO = Nothing
connO.Close
Set connO = Nothing
response.End
-----------
Le righe che generano l'errore sono quelle dell'if presente all'interno del ciclo while.
Vi ringranzio in anticipo per l'aiuto