Adatforrások
Egy adatbázis Apache OpenOffice-ba történő beépítésének módja egy ún. adatforrás létrehozása. A felhasználói 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 az Apache OpenOffice 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
- Settings (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).
- 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.
Lekérdezések
Előre megadott lekérdezések rendelhetők adatforráshoz. Az Apache OpenOffice feljegyzi a lekérdezések SQL-parancsait, így azok mindig elérhetők. A lekérdezések az adatbázisokkal végzett munka megkönnyítésére használatosak, mivel egyetlen kattintással megnyithatók, és az SQL nyelvet nem ismerő felhasználó számára is lehetőséget ad SQL-parancsok kiadására.
A lekérdezések mögött mindig egy a com.sun.star.sdb.QueryDefinition szolgáltatást támogató objektum bújik meg. A lekérdezések elérése az adatforrás QueryDefinitions metódusának segítségével történik.
A következő példában szerepel az üzenetablakról indítható adatforrás-lekérdezések neveit tartalmazó lista.
Dim DatabaseContext As Object Dim DataSource As Object Dim QueryDefinitions As Object Dim QueryDefinition As Object Dim I As Integer DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext") DataSource = DatabaseContext.getByName("Customers") QueryDefinitions = DataSource.getQueryDefinitions() For I = 0 To QueryDefinitions.Count() - 1 QueryDefinition = QueryDefinitions(I) MsgBox QueryDefinition.Name Next I
A példában használt Name tulajdonság mellett a com.sun.star.sdb.QueryDefinition számos más tulajdonságot ad meg. Ezek a következők:
- Name (karakterlánc)
- a lekérdezés neve.
- Command (karakterlánc)
- SQL-parancs (rendszerint SELECT parancs).
A következő példa bemutatja, hogy miként hozható létre lekérdezési objektum programvezérelt módon, és hogyan rendelhető adatforráshoz.
Dim DatabaseContext As Object Dim DataSource As Object Dim QueryDefinitions As Object Dim QueryDefinition As Object Dim I As Integer DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext") DataSource = DatabaseContext.getByName("Customers") QueryDefinitions = DataSource.getQueryDefinitions() QueryDefinition = createUnoService("com.sun.star.sdb.QueryDefinition") QueryDefinition.Command = "SELECT * FROM Customer" QueryDefinitions.insertByName("NewQuery", QueryDefinition)
Elsőként a lekérdezési objektum létrehozása zajlott le a createUnoService hívással, majd az inicializálás következett, végül a insertByName segítségével végrehajtott beillesztés a QueryDefinitions objektumba.
Content on this page is licensed under the Public Documentation License (PDL). |