HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Felhasználók és Tablespace-ek az Oracle adatbázisában


Példaprogram letöltése

4362 bájt

Ebben a példában arra keresünk megoldást, hogy miként listázhatjuk ki az Oracle szerver adatbázisában szereplő felhasználók nevét, valamint a hozzájuk tartozó Tablespace-ek neveit.

A felhasználói adatokhoz csak akkor férhetünk hozzá, ha megfelelő jogosultságokkal rendelkezünk.
Az Oracle szerveren a SYSTEM Tablespace alatt számos adattábla található, amely a rendszer paramétereiről tartalmaz információkat.
A felhasználók nevét és főbb jellemzőit a SYS.USER$ tábla tartalmazza. A kialakított Tablespace-ek információit a SYS.TS$ táblában találjuk. A két tábla között kapcsolatot létesíthetünk a megfelelő mezők alapján.
A SYS.USER$ táblából 3 mezőre van szükségünk, ezek a következők:
Mező Jelentése
NAME A felhasználó neve.
DATATS# Default Tablespace. Itt egy számérték található, amely a TS$ tábla egy sorára mutat.
TEMPTS# Temporary Tablespace. Itt egy számérték található, amely a TS$ tábla egy sorára mutat.
A SYS.TS$ táblából két mezőre van szükségünk.
Mező Jelentése
TS# Rekordazonosító. Ez alapján kapcsolhatjuk hozzá a táblát a SYS.USER$ táblához.
NAME A Tablespace neve.
Az Oracle szerverhez egy TADOConnection objektum segítségével kapcsolódunk. A kapcsolatot futási időben hozzuk létre, a megadott adatbázis, felhasználónév és jelszó függvényében.
ADOConnection1.ConnectionString:='Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID='+
  Edit2.Text+';'+'Data Source='+Edit1.Text;
A kapcsolódáshoz szükséges felhasználónevet és jelszót az ADOConnection1 objektum OnWillConnect eseményében adjuk meg. A LoginPrompt property értékét ne felejtsük el hamisra állítani.
A SYS.USER$ és SYS.TS$ táblákhoz egy-egy ADOTable komponenssel csatlakozunk. (SYS.USER$ - ADOTable1, SYS.TS$ - ADOTable2)
A szükséges mezők beállításához célszerű a szerverhez szerkesztési időben, ideiglenesen kapcsolódnunk. Ha felépítjük a kapcsolatot, az ADOTable komponensek TableName property-jében megjelennek a táblák nevei. A bejelentkezési nevünktől függ, hogy alapértelmezés szerint mit látunk. A táblák neveit manuálisan írjuk be, SYS.USER$ és SYS.TS$ formában.
A SYS.USER$ táblában a következő adatmezőkre van szükség: NAME, DATATS#, TEMPTS#.
A SYS.TS$ táblából a következő mezők kellenek: TS#, NAME.
Miután felvettük a mezőket, hozzunk létre két Lookup mezőt a SYS.USER$ táblához kapcsolt ADOTable-ben.
Az első Lookup kapcsolat (Default Tablespace):
  • Name: DTS
  • Type: String
  • Size: 30
  • Key Fields: DATATS#
  • DataSet: ADOTable2
  • Lookup keys: TS#
  • Result Field: NAME
A második Lookup kapcsolat (Temporary Tablespace):
  • Name: TTS
  • Type: String
  • Size: 30
  • Key Fields: TEMPTS#
  • DataSet: ADOTable2
  • Lookup keys: TS#
  • Result Field: NAME
Az eredménytáblát megjelenítő DBgrid-et egy DataSource objektumon keresztül az ADOTable1-hez kapcsoljuk hozzá, melyből a NAME, DTS és TTS mezők tartalmát kell megjelenítenünk.

Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 696. 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 |