Ho provato, senza successo, nel seguente modo :
1) creo un recordset disconnesso
codice:
Dim rsD As ADODB.Recordset
Set rsD = New ADODB.Recordset
If rsD.State = adStateOpen Then rsD.Close
Set rsD.ActiveConnection = Nothing ' non so se serve
rsD.Fields.Append "IDeffettuazione", 3
rsD.Fields.Append "IDGita", 3
rsD.Fields.Append "IDValle", 3
rsD.Fields.Append "Data", 7
rsD.Fields.Append "Meteo", 202, 100
...............
rsD.Open
2) lo popolo
codice:
rsD.AddNew
rsD("IDeffettuazione") = IDEff
rsD("IDGita") = IDGitaEff
rsD("IDValle") = 1 ' da perfezionare
rsD("Data") = Now
rsD("Meteo") = Left(Trim$(Tx(0)), 100)
............
rsD.Update
3) creo lo stream e lo invio alla pagina Update.asp
codice:
rsD.Save stm, adPersistXML
stm.SaveToFile FilePerDebug, adSaveCreateOverWrite ' debug
xml.Open "POST", WebHost & "Update.asp", False
xml.send stm.ReadText
If xml.responseText <> "" Then
MsgBox Right(xml.responseText, Len(xml.responseText) - InStr(xml.responseText, vbCrLf) - 1), vbCritical, Left(xml.responseText, InStr(xml.responseText, vbCrLf) - 1)
End If
Questa è la pagina Update.asp
codice:
<%
Dim rs, stm, ErrorMessage
on error resume next
strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=dbEff.mdb"
Set rs = Server.CreateObject ("ADODB.Recordset")
Set stm = Server.CreateObject("ADODB.Stream")
with rs
.CursorLocation = 3 ' adUseClient
.Open Request
.ActiveConnection =strConn
.UpdateBatch
end with
if err then
ErrorMessage = "RSUpdate error: " & err.Description & "[" & err.Number & "]"
rs.Save stm,1 ' adPersistXML
' Set content type to xml, specify XSL for formatting, then push XML stream text to calling component:
Response.ContentType = "text/xml"
Response.Write "<!-- " & ErrorMessage & " -->" ' This is treated as a comment
Response.Write "<?xml:stylesheet type=""text/xsl"" href=""recordsetxml.xsl""?>" & vbCrLf
Response.Write stm.ReadText
end if
%>
Risultato: lo stream sembra corretto, il file XML (FilePerDebug.XML) pure ma il tutto produce un MsgBox con il seguente errore :
"Le informazioni sulla tabella di base non sono sufficienti per effettuare l'aggiornamento".
Grazie anticipatamente a coloro che vorranno aiutarmi.