webForumDet fria alternativet

Jämföra två olika databaser

ASP

5 svar · 762 visningar · startad av Mokos

Medlem sedan juni 200720 inlägg
Frågan#1

hej.. jag vill göra en jämförelse mellan två olika databaser, med olika odbc koppling..
för att vara riktigt ärlig så vill jag kunna göra jämförelsen mellan ett lokalt Excel dokument och en SQL server online..
Jag har ett Excel dokument med en massa produkter. varje produkt har ett unikt "modellnr" ett id kan man säga.. jag vill nu göra en jämförelse så att inte modellnummret i mitt excel dokument existerar i motsvarande fält i SQL databasen online.. om id:t existerar så skall det hoppas över.. vilket innebär att dubletter av produkter inte läggs upp!!
så alltså.. en loop med existerande modellnummer online och i den loopen sedan loopa ut alla produkter ur Excel dokumentet där det inte finns några matchande Modellnr..

jag kan nämna att jag redan löst det där med att loopa fram poster ur Excel dokumentet.. det enda jag vill ha en lösning på är jämförelsen mellan databasen och Excel arket!

går detta att göra eller är det helt omöjligt..

tacksam för all Hjälp jag kan få!!

mvh
Christian

Medlem sedan juli 20041 183 inlägg
#2

Nu finns det säkert ett bättre sätt med tanke på prestanda men kan du inte köra en fråga till databasen för varje rad i excelarket, så som man alltid gör?

1 Läs in Excel-arket
2 För varje id
om id inte excisterar i SQL-databasen
spara ny post

Medlem sedan juni 200720 inlägg
#3

Exakt.. det är precis det jag försöker göra nu.. men jag får fel.. för det verkar inte som om sql:en vill bortse ifrån ifall det är lika ID:n.. jag får fel på "dubletter i primärnycklar"

Medlem sedan juli 20041 183 inlägg
#4

Kan du inte klistra in lite kod så vi får se vad det är som händer? :)

Har du försökt med någon felsökning själv? Jag brukar skriva ut SQL-satserna precis före de exekveras med en Response.Write för att se vad för frågor som skickas till databasen och för att på ett enkelt sätt se vart det kan gå fel.

// Ändrade lite i min meningsuppbyggnad även om det fortfarande ser skummt ut, aja

Medlem sedan juni 200720 inlägg
#5

Jo.. men jag kan kanske ha löst det..

select case sDo
	case "add"
		call Add_Artikel 'Lägger till Artikeln i tabellen Prod_Artikel
		call Add_Artikelkategori 'Lägger till Artikeln i tabellen Prod_Artikelkategori
		response.Redirect("import.asp")
	case "edit"
		call Edit_Artikel 'Ändrar Artikeln i tabellen Prod_Artikel
		response.write("<script>javascript:window.close()</script>")
	case "delete"
		call Delete_Artikel 'tar bort Artikeln i tabellen Prod_Artikel
		response.Redirect("default.asp")
	case "import"
		while not Rst.eof or Rst.bof
		xlID=Rst("MODELLNR")
		Set rs = oConn.Execute("SELECT Artikel_ID FROM Prod_Artikel WHERE NOT Artikel_ID="&xlID)
		if rs.eof or rs.bof then
			call AddtoSQL
		end if	
		Rst.movenext
		wend
		Rst.close
		'response.Redirect("default.asp")
end select
Medlem sedan juni 200720 inlägg
#6

det är unde case import...
jag flyttade upp loopen ifrån sub:en till case...

270 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
134 ms — ändringar (db)