Påminnelser om Hex past

Felsökning av webbapplikationer har förbättrats enormt i den nya generationens utvecklingsverktyg, men det kan fortfarande vara svårt att se vad som händer, särskilt när en webbapplikation pratar med en webbtjänst. Att ta reda på var felet uppstår kan innebära många timmars frustrerande testning, och alla verktyg som hjälper till med detta är alltid välkomna. Jag har täckt utvecklarens verktygsfält för Internet Explorer, som är en gratis nedladdning från Microsoft, men IEInspector Software har tagit detta flera steg längre och producerat ett program som inte överraskande kallas IEInspector (www.pcpro.co.uk/links/150web1) som låter dig inte bara utforska hela Document Object-modellen (DOM), utan via sin systerprodukt Http Analyzer ger dig en bra uppfattning om exakt vad som händer i din webbapplikation. Du kan till och med manuellt bygga HTTP-förfrågningar för att testa alla scenarier som din applikation eller webbtjänst kan behöva hantera.

Påminnelser om Hex past

Snabba uppdateringar

Jag har precis lagt sista handen vid en webbapplikation för en klient, och ett av dess slutskede innebar att ge dem ett enkelt sätt att uppdatera en databas på webbservern med aktuell information. Denna speciella webbapplikation gjorde det möjligt för användare att söka i kundens lagerlista på en mängd olika sätt och begära offerter för särskilda artiklar. Databasen för webbservern hölls i en SQL Server 2005 Express-databas som bestod av cirka 4 000 poster. Jag behövde ett sätt att uppdatera denna data som inte skulle orsaka några driftstopp på webben, men det var lätt att implementera och involverade helst inte VPN:er eller ”knacka hål” genom brandväggarna. Express-versionerna av SQL Server 2005 kommer inte med DTS-verktyget som användare av andra versioner skulle vara bekanta med, vilket möjliggör enkel överföring av data. En annan möjlighet som jag har använt tidigare är kommandoradsverktyget bcp, men det kan ibland vara lite knepigt att ställa in med dess flera switchar.

Båda dessa lösningar kan fortfarande ha resulterat i driftstopp på webbplatsen medan data överfördes, och vi ville särskilt undvika detta. Jag övervägde vid ett tillfälle att ha två databaser och växla mellan en ”live” och den som skulle uppdateras, men efter några tester fann jag att kommandot BULK INSERT med dess uppdateringshastighet verkade erbjuda det som behövdes. Tanken var att tillhandahålla två skyddade webbsidor, varav en låter användaren ladda upp en tabbavgränsad textfil från sin lokala dator till webbservern. Denna fil skulle produceras av deras interna databassystem. Den andra webbsidan kör i princip följande kommando på datakällan:

BULK INSERT mytable FRÅN ’myfile.txt’ MED ( FIRSTROW = 2, FIELDTERMINATOR = ’t’, ROWTERMINATOR = ’

’)

Detta är SQL-syntaxen för en tabbavgränsad fil som ignorerar den första raden eftersom den innehåller kolumnnamn. Kommandot tar bara några sekunder att importera de tusentals poster, så det finns inga avbrott i webbapplikationen. Uppenbarligen måste du lägga detta mellan kommandona BEGIN TRANS och COMMIT TRANS, så att om det misslyckas halvvägs kan du återställa databasen till den tidigare giltiga datamängden. Den här lösningen verkar fungera extremt bra, och sajten gick live strax före juluppehållet.

Lämna en kommentar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *