In mijn vorige blog schreef ik over een handig tooltje dat ik heb herontdekt: Remember The Milk – deel 1. Deze keer wil ik iets dieper op ingaan. RTM biedt de mogelijkheid om tags aan je afspraken toe te voegen. Hier kun je dan weer op groeperen. Van deze tags wordt een Task Cloud gemaakt: een visuele weergave van je takenlijst. De grootte van het font geeft aan dat er veel taken zijn of veel taken met een hoge prioriteit.
Voor een uitbreiding van een website bij mijn opdrachtgever kreeg ik laatst het verzoek om een stored procedure te maken waarmee je documenten uit een database kunt vinden. Als zoekcriterium kun je hiervoor oa. een aantal woorden invullen dat binnen de tekst moet voorkomen. Voor deze stored procedure heb ik dynamisch SQL gebruikt. Dynamisch heeft hier de betekenis dat je de query runtime opbouwt en dan pas uitvoert. Deze techniek zul je niet vaak gebruiken, omdat juist de kracht van stored procedures is dat deze vooraf gecompileerd zijn en daardoor snel het gewenste resultaat opleveren. Ook zul je hierbij bewust moeten zijn van het gevaar van SQL injection. Bij deze opdracht heb ik toch voor dynamische SQL gekozen, omdat het aantal zoekwoorden kan variëren van 0 tot meer dan 10.
De totale stored procedure (SP) is te lang om hier in z’n geheel weer te geven. Dit verhaal zou dan ook voor sommigen saai en langdradig worden en dat is nu net wat je niet verwacht bij een artikel met ‘Dynamisch’ in de titel. Om de vaart erin te houden, wil ik in dit blog daarom de belangrijkste onderdelen even kort benoemen. Wie weet helpt het iemand op weg die ook met dynamisch SQL wil werken. Ik ben overigens best benieuwd naar andere voorbeelden van geschikte toepassingen van deze techniek.
Bij mijn huidige opdrachtgever zijn veel relatief kleine applicaties gemaakt met Visual Basic 6. Het beleid is erop gericht dit terug te brengen tot een aantal grote applicaties. Toch komt het nog wel eens voor dat de mensen op de werkvloer een oude applicatie missen en bepaalde gegevens willen raadplegen. Vorige week kreeg ik de opdracht om in korte tijd de applicatie DEKKINGSBOEKEN weer terug te zetten. In het verleden maakte deze applicatie gebruik van een Oracle database. De server waar dit op draaide is inmiddels historie. Van de data had men nog wel een back-up naar SQL Server gemaakt. Kwestie van connectiestring aanpassen dachten we in eerste instantie. De klus bleek toch iets omvangrijker dan dat: de VB code bevatte een groot aantal SQL statements met een specifiek Oracle dialect. Dit laten staan was geen optie: daar zou het programma op stuk lopen.
Lees verder…
De laatste tijd gebruik ik regelmatig het tooltje SQL Digger om te zoeken naar tekst in Views, Stored Procedures, etc. in een SQL Server database. Zo kun je bijvoorbeeld snel kijken of er een view/procedure bestaat die je kunt gebruiken voor het ophalen van bepaalde gegevens.
Je kunt SQL Digger ook integreren in de .NET IDE en SQL Server Manager.
Website: SQL Digger