webForumDet fria alternativet

Flytta information mellan två databaser?

ASP

2 svar · 159 visningar · startad av His Divine Shadow

Medlem sedan sep. 20004 079 inlägg
Frågan#1

Försöker flytta information mellan två databaser, men jag får inte det att funka utan jag får:
============
Microsoft JET Database Engine error '80004005'
Unspecified error
/forslag/avance.asp, line 39
============

Här är koden

<%
Response.Buffer = true
Kun = Request("Kundnr")

set conn = server.createobject("adodb.connection")
conn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=C:\data\WebData\Forslag\B_forslag.mdb;"
set rs = server.createobject("adodb.recordset")

SQL = "SELECT * FROM BF WHERE Kundnr = '"& Request("Kundnr") &"'"
rs.open SQL, conn, 2, 2

do until RS.EOF

rs.update
rs("Justerat") = "0"
rs.update

RS.MoveNext
Loop
Conn.Close

set rs= nothing
set conn = nothing
%>

Denna del funkar som den ska, den nollställer Justerat i tabellen BF.

<%
set conn = server.createobject("adodb.connection")
conn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=C:\data\WebData\Forslag\B_forslag.mdb;"
set rs = server.createobject("adodb.recordset")

SQL = "SELECT * FROM BF WHERE Kundnr = '"& Request("Kundnr") &"'"
rs.open SQL, conn, 2, 2

do until RS.EOF

Artnr = rs("Artnr")

set conn2 = server.createobject("adodb.connection")
[B]conn2.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=C:\data\Avance\data\fakt000.mdb;"[/B]
set rs2 = server.createobject("adodb.recordset")

	SQL2 = "SELECT * FROM FaktK WHERE Kundnr = '"& Request("Kundnr") &"' AND Artikelnr = '"& Artnr &"'"
	rs2.open SQL2, conn2, 2, 2

If RS2.EOF Then
ELSE
	rs.update
	rs("Justerat") = rs2("Antal")
	rs.update
END IF

RS.MoveNext
Loop
Conn.Close

set rs= nothing
set conn = nothing

set rs2= nothing
set conn2 = nothing
%>

Linje 39 är "bold"

Medlem sedan mars 20007 896 inlägg
#2

Jag skulle gissa på att du får felmeddelande för att du har öppningen av databasen i loopen, och inte stänger den i loopen.

Så här blir det förhoppningsvis bättre:

set conn = server.createobject("adodb.connection")
conn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=C:\data\WebData\Forslag\B_forslag.mdb;"
set rs = server.createobject("adodb.recordset")

SQL = "SELECT * FROM BF WHERE Kundnr = '"& Request("Kundnr") &"'"
rs.open SQL, conn, 2, 2

set conn2 = server.createobject("adodb.connection")
conn2.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=C:\data\Avance\data\fakt000.mdb;"
set rs2 = server.createobject("adodb.recordset")

do until RS.EOF

Artnr = rs("Artnr")

SQL2 = "SELECT * FROM FaktK WHERE Kundnr = '"& Request("Kundnr") &"' AND Artikelnr = '"& Artnr &"'"
rs2.open SQL2, conn2, 2, 2

If Not RS2.EOF Then
	rs.update
	rs("Justerat") = rs2("Antal")
	rs.update
END IF

rs2.Close

rs.MoveNext
Loop

set rs2 = Nothing
conn2.Close
set conn2 = Nothing

rs.Close
set rs = Nothing
conn.Close
set conn = Nothing
%>
Medlem sedan sep. 20004 079 inlägg
#3

Yupp, det var det, funkar fin fint nu.

263 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)