Mål
-
Att förstå principerna för hur SQL kan användas inuti ett program,
främst via gränssnitt med funktionsanrop.
-
Att förstå principerna för ODBC, bland annat datakällor och drivrutiner.
-
Att få kunskaper om och erfarenhet av praktisk ODBC-programmering.
Scenario
Vi ska skriva ett ODBC-program för att studera och uppdatera demo-databasen från
kursen Databaskonstruktion.
Den databasen användes i några av övningarna och inlämningsuppgifterna i den kursen.
Förberedelser
-
Läs lämpligt kursmaterial med mera.
-
Om du arbetar hemma, behöver du installera databashanteraren Mimer.
Det behövs även om du inte ska köra någon databasserver lokalt,
utan bara klientprogram.
-
Lästips om Mimer från kursen Databaskonstruktion:
Visual Studio 2005
Här
kan man läs mera om hur man använder (och även laddar hem och installerar)
Visual Studio 2005.
Följ instruktionerna där om hur man
skapar ett enkelt C-program.
ODBC-exemplen i boken och på bokens webbplats
fungerar med flera olika kompilatorer och operativsystem,
men för att fungera med den ODBC som levereras med Visual Studio 2005
behöver man göra vissa ändringar.
Man kan behöva ändra en del funktionsargument från exempelvis
(SQLCHAR*) "demobasen"
till
(SQLWCHAR*) L"demobasen"
Det är tillåtet att använda andra kompilatorer och programmeringsomgivningar än Visual Studio 2005,
till exempel GCC på Linux.
Uppgifter
-
Kom ihåg:
För att kunna koppla upp sig mot en databas (som demobasen)
med till exempel Mimer-klientprogrammet Batch SQL
måste man först lägga in den i Mimer Administrator,
Se
Getting started with Mimer.
-
Kontrollera med Batch SQL att det fungerar att koppla upp sig mot Mimer-databasservern
och att logga in med det användarnamn och det lösenord som används i ODBC-programexemplen.
(Servern heter basen.oru.se, databasen heter demobasen,
användarnamnet är demouser och lösenordet är fnord.)
-
Kom ihåg:
För att kunna koppla upp sig med ODBC mot en databas (som demobasen)
måste man (lite beroende på vilka rättigheter ens användare har)
inte bara lägga in den i Mimer Administrator,
utan man måste dessutom skapa en datakälla med ODBC-verktyget
ODBC Data Source Administrator
i kontrollpanelen.
(På Windows XP:
Start ->
Control Panel ->
Performance and Maintenance ->
Administrative Tools ->
Data Sources (ODBC))
Se också
Getting started with Mimer.
-
Studera och provkör ett eller flera av de ODBC-program som finns att ladda ner från
Databasteknik-bokens webbplats.
-
Varje student får ett användarnamn och ett lösenord till en databas
som ODBC-programmmet som ska skrivas i uppgiften ska jobba med.
(Servern heter basen.oru.se och databasen heter dbk.)
Kontrollera att det fungerar att koppla upp sig mot Mimer-databasservern
och att logga in på den databas du fått, med ditt användarnamn och lösenord.
Prova dels med Batch SQL, och dels med ett mycket enkelt ODBC-program.
-
Skapa tabeller och lägg in data för demo-databasen,
enligt de instruktioner som finns i
övningsuppgift 3 i kursen Databaskonstruktion.
-
Skriv ett ODBC-program i C
som ansluter till demo-databasen,
och kan:
visa information om en anställd (ur tabellen employee) med ett namn som användaren anger
- visa information om en anställd med ett nummer som användaren anger
- lägga till en ny anställd
- ta bort en anställd
- ändra lönen för en anställd
Eventuella fel som uppstår i programmet ska hanteras på lämpligt sätt.
Tänk på referensintegriteten, till exempel om
man tar bort en anställd som någon annan har som chef,
eller om man lägger till en anställd och som hennes chef skriver in ett nummer på en anställd som inte finns.
Det är förmodligen bäst att arbeta i C (och inte C++)
och att använda ett enkelt textbaserat användargränssnitt.
Redovisning
Visa programmet för läraren, demonstrera hur det fungerar, och diskutera,
eller,
skicka
e-post
med fullständiga och tydliga beskrivningar av hur programmet fungerar och är uppbyggt.
Skicka med väl valda och väl kommenterade testkörningar, med in- och utdata.
Skicka också med källkoden, med förklaringar.
Arbeta i grupper om en eller två studenter.
I undantagsfall kan man arbeta i grupper om tre, men fråga läraren först.
Det är tillåtet att samarbeta i större grupper än så,
men varje grupp om 1-3 studenter måste fortfarande redovisa separat,
och det måste också tydligt framgå (i rapporten eller på annat sätt)
vilka som deltog i samarbetet.
Thomas Padron-McCarthy
(Thomas.Padron-McCarthy@tech.oru.se),
20 januari 2007