Jag har stött på problem med transaktionshanteringen (DTC) efter att installerat SP1. Om du arbetar med samma definerade recordset så för du köra .close först - sen kan du återanvända det. Kör du addera, uppdatera eller radera behöver du inte använda recordset, då räcker connection. Ibland använder jag ett recorset för att loopa igenom ett annat. Lite vilda gissningar, Windows 2003, IIS, SP1
Nu kan jag inte köra fler än ett recordset på en asp-sida efter att ha kört en <%@ transaction=Required%> på föregående asp-sida. Jag måste stänga eller sätta recordset till Nothing för att kunna köra ytterligare ett recordset på samma sida.
Om jag väntar ca 60 sekunder så kan jag köra flera recordset på samma sida. Men kör jag en transaktion igen så blir det fel igen.
Detta problem hade jag inte innan jag installerade SP1. Och om jag avinstallerar SP1 så funkar asp-sidorna som vanligt.
Någon som vet vad problemet kan vara?Sv: Windows 2003, IIS, SP1
con.execute("insert into ....")Sv:Windows 2003, IIS, SP1
Här är ett exempel. Jag vill lista alla personer som har en eller flera bilar. Och då måste jag först hämta alla personID för att söka ut vilka bilar som den personen har.
MySQL = "SELECT personid, fnamn, enamn FROM person ORDER BY enamn ASC, fnamn ASC"
Set MyRs = MyConn.Execute(MySQL)
Do While Not MyRs.EOF
personid = MyRs.Fields("personid")
fnamn = MyRs.Fields("fnamn")
enamn = MyRs.Fields("enamn")
MySQL2 = "SELECT bilnamn FROM bilar WHERE personid = " & personid
Set MyRs2 = MyConn.Execute(MySQL2)
Do While Not MyRs2.EOF
bilnamn = MyRs2.Fields("bilnamn")
Response.Write(fnamn & " " & enamn & " har en bil med märket " & bilnamn & ".<br>")
MyRs2.MoveNext
Loop
MyRs2.Close
MyRs.MoveNext
Loop
MyRs.Close
Detta fungerar INTE efter att jag har installerat SP1 och efter att man kört en transaktion på en asp-sida. Men detta fungerade förut.
Men väntar jag ca 60 sekunder så fungerar det igen. Det verkar som om man måste vänta på att någonting ska "timeout" innan man kan köra flera recordset utan att stänga dom.
Förövrigt så går Transaktionen igenom dvs det skrivs data till databasen.
Sv: Windows 2003, IIS, SP1
1. Connectionsträngen är korrekt?
2. Varför använda transaktionshantering vid select?
3. Kan vara så att subrutinerna måste finnas?
<code>
Sub OnTransactionCommit()
Response.write("<br><br><br><center><h3>Operation was successful</h3></center>")
End Sub
Sub OnTransactionAbort()
Response.write("<br><br><br><center><h3 style='color:red'>Operation was unsuccessful</h3></center>")
End Sub
</code>