Sun Microsystems
Termékek
 
Támogatás
 
 

Előző Előző     Tartalom     Tárgymutató     Következő Következő
Fejezet 10

Adatbázisok elérése

A StarOffice integrált (rendszertől független) adatbázis-felülettel rendelkezik, melynek neve Star Database Connectivity (SDBC). Ezen felület fejlesztése során a cél a lehető legtöbb különféle adatforrás elérhetőségének biztosítása volt.

Ennek érdekében az adatforrások elérése illesztőprogramokon keresztül történik. Az SDBC felhasználói számára közömbös, hogy az illesztőprogramok mely források adatait teszik hozzáférhetővé. Az illesztőprogramok némelyike fájl alapú adatbázisokat ér el, és az adatokat közvetlenül olvassa be azokból. Más felületek szabványos illesztőfelületet használnak (pl. JDBC vagy ODBC). Ugyanakkor léteznek speciális illesztőprogramok is, melyek a MAPI-címjegyzéket, az LDAP-címtárakat, illetve a StarOffice-munkafüzeteket használják adatforrásként.

Mivel az illesztőprogramok alapját UNO összetevők alkotják, lehetőség van újabb illesztőprogramok fejlesztésére, melyek segítségével további adatforrások tehetők elérhetővé. Erre vonatkozó további részletek a StarOffice fejlesztői kézikönyvben olvashatók.


Megjegyzés - Alapelvét tekintve az SDBC hasonló a VBA keretein belül elérhető ADO és DAO könyvtárakhoz. Adatbázisok magas szintű elérését teszi lehetővé, függetlenül az adatbázisokon futó háttérprogramoktól.



Megjegyzés - A StarOffice adatbázis-felület bővült a StarOffice 8 kiadásával. Bár korábban az adatbázisokhoz való hozzáférés biztosítása elsősorban az Application objektum különféle metódusai segítségével történt, a StarOffice 7 illesztőfelülete több objektumból áll. A DatabaseContext objektumot a rendszer az adatbázis-funkciók gyökérobjektumaként használja.


SQL: lekérdezési nyelv

Az SQL nyelv az SDBC felhasználói számára biztosított lekérdezési nyelv. A különböző SQL-dialektusok közti eltérések kezelése céljából a StarOffice SDBC összetevők saját SQL-szintaxiselemzővel rendelkeznek. Ez a lekérdezési ablak segítségével ellenőrzi a beírt SQL-parancsokat, és javítja az egyszerűbb szintaktikai hibákat (például a kis- és nagybetűk használatával kapcsolatosakat).

Ha valamely illesztőprogram engedélyezi egy az SQL használatát nem támogató adatforrás elérését, akkor önállóan át kell alakítania a továbbított SQL-parancsokat a szükséges natív hozzáféréshez.


Megjegyzés - Az SDBC illesztőfelület SQL-megoldásainak kialakítása az SQL ANSI szabvány alapján történt. A Microsoft-specifikus kiterjesztések (pl. az INNER JOIN szerkezet) használatát a program nem támogatja. Ezek helyett használjunk szabványos parancsokat (az INNER JOIN helyett például egy megfelelő WHERE záradékot).


Adatbázis-hozzáférési típusok

A StarOffice adatbázis-felülete egyaránt elérhető a StarOffice Writer és a StarOffice Calc alkalmazásokból, valamint az adatbázis-űrlapokon is.

A StarOffice Writer alkalmazásban szabványos levelek hozhatók létre SDBC adatforrások segítségével, melyek aztán kinyomtathatók. Lehetőség van az adatbázis ablakában szereplő adatok szöveges dokumentumba történő áthelyezésére is a "fogd és vidd" funkció segítségével.

Ha a felhasználó adatbázistáblát helyez át munkafüzetbe, a StarOffice táblaterületet hoz létre, melynek tartalma egyetlen egérkattintással frissíthető, ha az eredeti adatok módosulnak. Ezzel ellentétes irányban pedig lehetőség van munkafüzet adatainak adatbázistáblába történő áthelyezésére és az adatbázis importálására.

Végezetül, a StarOffice termékben elérhető egy adatbázisokra épülő űrlapok létrehozását szolgáló eljárás. Ennek végrehajtásához a felhasználónak először egy szabványos űrlapot kell létrehoznia a StarOffice Writer vagy a StarOffice Calc segítségével, majd a mezőkben adatbázisra mutató hivatkozásokat kell létrehozni.

Az itt megadott lehetőségek mindegyike elérhető a StarOffice felhasználói kezelőfelületén keresztül. A megfelelő funkciók használata nem igényel programozási ismereteket.

Ugyanakkor ez a fejezet kevés információval szolgál a megadott funkciókkal kapcsolatban, sokkal inkább az SDBC programozási illesztőfelületével foglalkozik, mely lehetőséget teremt automatizált adatbázis-lekérdezések végrehajtására, így az alkalmazások sokkal szélesebb körének használatát teszi lehetővé.

A következő szakaszokban leírtak teljes megértéséhez azonban szükség van az adatbázisok működésének és az SQL lekérdezési nyelv használatának alapszintű ismeretére.

Adatforrások

Egy adatbázis StarOffice termékbe történő beépítésének módja egy ún. adatforrás létrehozása. A felhasználói illesztőfelület megfelelő lehetőséget biztosít adatforrások létrehozására az Extrák menüben. Adatforrásokat azonban létrehozhatunk és kezelhetünk a StarOffice Basic segítségével is.

Egy a createUnoService függvény segítségével létrehozott adatbáziskörnyezet-objektum szolgál kiindulási pontként egy adatforrás eléréséhez. Ennek alapja a com.sun.star.sdb.DatabaseContext szolgáltatás, és ez az összes adatbázis-művelet gyökérobjektuma.

Az alábbi példák bemutatják, hogy egy adatbázis-környezet objektum miként hozható létre, majd hogyan használható az összes elérhető adatforrás nevének meghatározásához. A neveket üzenetpanelen jelenti meg.

Dim DatabaseContext As Object

Dim Names

Dim I As Integer



DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")



Names = DatabaseContext.getElementNames()

For I = 0 To UBound(Names())

   MsgBox Names(I)

Next I

A különálló adatforrások alapját a com.sun.star.sdb.DataSource szolgáltatás adja, és az adatbázis-környezetből a getByName metódus segítségével határozhatók meg:

Dim DatabaseContext As Object

Dim DataSource As Object



DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")

DataSource = DatabaseContext.getByName("Customers")

A példa egy DataSource objektumot hoz létre a Customers nevű adatforráshoz.

Az adatforrások számos tulajdonságot adnak meg, melyek általános információkat nyújtanak az adatok eredetére és a hozzáférési módokra vonatkozóan. A tulajdonságok a következők:

  • Name (karakterlánc) - az adatforrás neve.

  • URL (karakterlánc) - megadja az adatforráshoz tartozó URL értékét a következő formátumban: jdbc: alprotokoll : alnév vagy sdbc: alprotokoll : alnév.

  • Info (tömb) - tömb, mely PropertyValue értékpárokat tartalmaz kapcsolódási paraméterekkel (általában legalább a felhasználói nevet és jelszót tartalmazza).

  • User (karakterlánc) - felhasználónév.

  • Password (karakterlánc) - felhasználói jelszó (nem tárolt).

  • IsPasswordRequired (logikai érték) - a jelszó megadása szükséges, és a program párbeszédes formában bekéri azt a felhasználótól.

  • IsReadOnly (logikai érték) - csak olvasási hozzáférés engedélyezése az adatbázishoz.

  • NumberFormatsSupplier (objektum) - az adatbázisban használható számformátumokat tartalmazó objektum (támogatja a com.sun.star.util.XNumberFormatsSupplier illesztőfelületet; részletek a Számok, dátumok és szöveg formázása szakaszban).

  • TableFilter (tömb) - a megjelenítendő táblanevek listája.

  • TableTypeFilter (tömb) - a megjelenítendő táblatípusok listája. A használható értékek: TABLE, VIEW és SYSTEM TABLE.

  • SuppressVersionColumns (logikai érték) - kikapcsolja a verziófelügyelethez használt oszlopok megjelenítését.


Megjegyzés - A StarOffice adatforrásai nem vethetők össze egy az egyben az ODBC adatforrásaival. Míg az ODBC adatforrások csupán az adatok eredetére vonatkozó információkat tartalmazzák, a StarOffice adatforrásokban szerepelnek további információk is, melyek a StarOffice adatbázisablakaiban szereplő adatok megjelenítésének módjára vonatkoznak.


Előző Előző     Tartalom     Tárgymutató     Következő Következő