27 messaggi dal 10 giugno 2002
Grazie per i vostri suggerimenti, ma ho già risolto il problema sbirciando dall'MSDN/KB di Microsoft. Infatti ho notato che bisogna usare il provider Microsoft.Jet.OLEDB.4.0. Dicono anche che c'è compatibilità tra OLE DB e ODBC. Infatti ho riprovato tutti e due i metodi e funzionano. Ora tutto funziona, ovvero la lettura funziona perfettamente, ma la scrittura, modifica e cancellazione vanno a farsi friggere, in tutte e due i casi.

file connessione.asp:
**************************************************************************************
<%
dim objConn
Set objConn = Server.CreateObject("ADODB.Connection")
'objconn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\crmSVEA\avvio\crmSVEA.mdb"
objConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=C:\crmSVEA\avvio\crmSVEA_tmp.mdb;uid=Amministratore;password=svea2002"
%>
**************************************************************************************
file view_data.asp
**************************************************************************************
<%@LANGUAGE="VBSCRIPT"%>
<%Option Explicit%>
<% Server.ScriptTimeout = 500000 %>
<% response.buffer = false%>
<!--#include file="connessione.asp"-->
<%
Dim objrs, sqlstring, contOcc
contOcc = 0
sqlstring = "SELECT id, cog_rs, nome FROM customers WHERE cog_rs LIKE '% %';"
set objrs = server.CreateObject("adodb.recordset")
objrs.open sqlstring, objconn

if not objrs.bof or not objrs.eof then
do while not objrs.eof
contOcc = contOcc + 1
%>
<%=objrs("id")%>&nbsp;|&nbsp;
<%=objrs("cog_rs")%>&nbsp;|&nbsp;
<%=objrs("nome")%>&nbsp;|*|&nbsp;&nbsp;
<a href="view_data.exec.asp?action=del&id=<%=objrs("id")%>" target="exec">Canc</a>&nbsp;|&nbsp;
<a href="view_data.exec.asp?action=update&id=<%=objrs("id")%>" target="exec">Agg.</a>&nbsp;|&nbsp;
<a href="view_data.exec.asp?action=edit&id=<%=objrs("id")%>" target="exec">Modifica</a><br><hr>
<%
objrs.movenext
loop
%>
<br>Totale Occorrenze: <%=contOcc%>
<%
end if ' not objrs.bof or not objrs.eof
%>
</body>
</html>
<%
objrs.close
set objrs = nothing
objconn.close
set objconn = nothing
%>
**************************************************************************************
file view_data.exec.asp
**************************************************************************************
<%@LANGUAGE="VBSCRIPT"%>
<%Option Explicit%>
<% Server.ScriptTimeout = 500000 %>
<% response.buffer = false%>
<!--#include file="connessione.asp"-->
<%
Dim action, id, nome, cognome
action = request.QueryString("action")
id = request.QueryString("id")

if action="del" then
Dim sqlstring
sqlstring = "DELETE FROM customers WHERE id=" & cInt(id) & ";"
'response.write sqlstring
objconn.Execute sqlstring
if objASPError.ASPCode > "" then
response.write ("Errore numero" & objASPError.ASPCode & " = " & objASPError.Description)
response.write ("<br> Impossibile continuare l'operazione")
else
response.write ("Cancellazione del record ID: " & id & ". Operazione eseguita con successo")
end if 'objASPError.ASPCode > ""
end if ' action="del"

objconn.close
set objconn = nothing
%>

**************************************************************************************
Ora quando vado a richiamare, ad esempio, il link "http://localhost/crmsvea/SCRIPTS/view_data.exec.asp?action=del&id=47" tutte e due i driver provvedono diligentemente a rinfaccairmi il seguente errore:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][Driver ODBC Microsoft Access] Impossibile eliminare dalle tabelle specificate.
/crmsvea/SCRIPTS/view_data.exec.asp, line 15 (objconn.Execute sqlstring).
Vorrei capire cosa è successo? visto che ho sempre effettuato questa operazione (objconn.execute) con la massima semplicità. Ho provveduto a rendere di scrittura le cartelle dove ho il database, anche se già lo era, ma non è cambiato nulla.

Disperato ho deciso di farlo sul vecchio computer con Win2K, ma, con mio stupore, il file view_data.asp mi dava come risultati solo 180 record che rispettavano la "where", contro i 3000 e passa di quando lo eseguivo su Xp. Non credo siano i driver, visto che su XP anche con ODBC il risultato resta lo stesso.

Per stasera devo consegnare il database con le modifiche apportate e tutto va male... vi prego, aiutatemi!

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.