HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

MS SQL adatbázis használata CD lemezről


Példaprogram letöltése

18854 bájt

Ha egy olyan alkalmazást készítünk, mely MS SQL adatbázist használ, akkor lehetőségünk van arra is, hogy ezt az adatbázist egy CD lemezen helyezzük el a szükséges szoftverünkkel együtt és így az teljes mértékben CD-ről futtatható.
Ez esetben természetesen az adatbázis csak olvasható lesz, de ez sok esetben elegendő. Egyetlen telepítendő alkalmazás ilyenkor a MS SQL adatbázis motor (MSDE), minden más (saját alkalmazásunk, az adatbázis, stb.) működhet a CD lemezről.
A mellékelt példához az MS SQL 2000-es verzióját használtuk, de az alább leírtak régebbi verziók esetén is használhatók.

Nézzük első lépésként, miként készíthetünk egy olyan adatbázist, melyet akár egy CD lemezről is használhatunk. Az ehhez tartozó példaprogram megtalálható a mellékelt Step01 könyvtárban.

Az adatbázis létrehozását nem tehetjük meg a hagyományos módokon, hanem ehhez az sp_create_removable nevű tárolt eljárást kell használnunk. Ennek segítségével hozhatjuk létre az ún. mozgatható adatbázist, melyet képesek vagyunk akár CD lemezről is használni. Az ilyen speciális adatbázisok létrehozásánál tudnunk kell, hogy fizikailag három állomány jön létre: egy az adatok tárolásához, egy a napló állomány és egy a rendszer táblák részére. E három állomány adatait kell megadnunk az sp_create_removable tárolt eljárásnak.
Első paraméter az adatbázis logikai neve lesz.
A második a rendszertáblák logikai neve, a harmadik az ehhez tartozó állomány fizikai elérési útvonala és neve, majd az állomány kezdőmérete MB-ban.
Ezt követő három paraméterben a napló állomány logikai neve, fizikai elérési útvonala és neve, valamint az állomány kezdőmérete MB-ban.
Az utolsó három paraméterben az adat állomány logikai neve, fizikai elérési útvonala és neve, valamint az állomány kezdőmérete MB-ban.
sp_create_removable
   'CDData',
   'CDDataSys',
   'c:\CDData.sys',
   1,
   'CDDataLog',
   ' c:\CDData.log',
   1,
   'CDData',
   ' c:\CDData.dat',
   1
Az sp_create_removable futtatásához sysadmin tagság kell.
A létrejövő rendszer táblákat tartalmazó állomány kerül a PRIMARY csoportba, míg a felhasználó adatokat tartalmazó rész egy readonlyfilegroup nevű csoportba. E csoportot az adatok feltöltése után csak olvashatóra kell megváltoztatni.

Az adatbázis létrehozása után feltölthetjük azt a szükséges adatokkal. Először hozzunk létre mondjuk egy táblát:
use CDData
CREATE TABLE UserData
(
  userid int,
  lastlogin datetime
)

Ha már van tábla, akkor helyezzünk el benne adatokat is:
use CDData
INSERT INTO userdata (userid, lastlogin) VALUES (1, CONVERT(DATETIME, '2001-01-01 00:00:00', 102))
INSERT INTO userdata (userid, lastlogin) VALUES (2, CONVERT(DATETIME, '2001-02-01 00:00:00', 102))

Az adat feltöltés után szükség van még egy tárolt eljárás meghívására, mely az sp_certify_removable lesz. Ez a tárolt eljárás ellenőrzi az adatbázist, hogy az megfelel-e arra, hogy mozgatható adatbázis legyen belőle. Szükség esetén képes a megfelelő változtatások elvégzésére is, hogy az adatbázist használhassuk célunknak megfelelően. Első paraméterként az adatbázis nevét kell megadni. Második, nem kötelező paraméter az AUTO szó. Ez esetben a hibajavítás automatikusan megtörténik.
use master
sp_certify_removable CDData, AUTO
A hibajavításra akkor kerül sor, ha az alábbi szabályokat nem tartanánk be az adatbázis feltöltése során:
  • Az adatbázis tulajdonosa az SA (System Administrator) maradjon. Az sp_certify_removable az összes adatbázisban lévő objektum tulajdonosnak az SA-t állítja be.
  • Ne hozzunk létre nem alapértelmezett jogosultságokat, felhasználókat, mert ezek törlésre kerülnek.
  • Ne készítsünk olyan objektumokat, melyek más adatbázis objektumára hivatkoznak, mert ezek is törlésre kerülnek.
Az sp_certify_removable beállítja a readonlyfilegroup csoportot readonly-ra. Régebbi SQL szerverek esetén ezt a lépést nekünk kell megtenni:
use master
ALTER DATABASE CDData MODIFY FILEGROUP readonlyfilegroup READONLY
Az sp_certify_removable futtatásához sysadmin tagság kell.
Az sp_certify_removable futása után az adatbázis Offline módba kerül, így annak állományai már készen állnak arra, hogy CD-re helyezzük őket.

Ezt követően helyezzük el a három adatbázis állományt egy CD lemezen (a teszthez az is elég, ha átmásoljuk egy másik meghajtóra, vagy könyvtárba). Másolás előtt célszerű az SQL Server Enterprise Manager-ből a CDData adatbázis hivatkozását törölni a Databases elemei közül.

Következő lépésként nézzük miként tudjuk felhasználni a CD-n lévő adatbázist (Step02 példa).

Az adatbázist csatlakoztatnunk kell az SQL szerverhez a használat előtt. Ehhez az sp_attach_db tárolt eljárást használhatjuk. Itt első paraméterként az adatbázisunk nevét adjuk meg, majd ezt követően a hozzá tartozó három állomány nevet teljes elérési útvonallal.
sp_attach_db CDData, 'g:\CDData.dat', 'g:\CDData.sys', 'g:\CDData.log'

Ettől a pillanattól kezdve az adatbázis elérhető, használható. Régebbi SQL szerverek esetén még az Offline módot ki kell kapcsolnunk a használat előtt:
sp_dboption CDData, OFFLINE, FALSE



Cikksorozat

#IDKategóriaCikk címeSorozat
3916WindowsA javascript nyelv bemutatása1. rész
3946WindowsJavascript változók és operátorok2. rész
3975WindowsKódvezérlés JScript-ben3. rész
4004WindowsFüggvények és objektumok4. rész
4036WindowsFejlett funkciók a JavaScript nyelvben5. rész
4066WindowsFejlett funkciók a JavaScript nyelvben - folytatás6. rész
4116WindowsReguláris kifejezések7. rész
4145WindowsReguláris kifejezések - folytatás8. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2001 évkönyv 602. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |