15.2. Die Asterisk-Datenbank
Warnung
DBput(family/key=value)Zum Speichern eines Werts in der DatenbankDBget(var=family/key)Um einen Wert aus der Datenbank auszulesen. Wird der aufgerufene Key in der Datenbank nicht gefunden, erhöht sich die Priorität um 101.
DB() besprochen. Diese Variante funktioniert auch in der
Version 1.2.DB()
zugegriffen werden (siehe Abschnitt D.17, „DB()“).15.2.1. Werte in die Datenbank schreiben
DB() kann innerhalb der Applikation
Set() aufgerufen werden. Soll in der Family
obst der Eintrag apfel den Wert
20 bekommen, so geschieht das mit folgendem
Aufruf:exten => 1234,1,Set(DB(obst/apfel)=20)
15.2.2. Werte aus der Datenbank lesen
DB() in der Form ${DB(family/key)} abgerufen
werden. Um den Inhalt des Eintrags apfel in der Family
obst auf dem Command Line Interface auszugeben, kann man
folgenden Aufruf ausführen:exten => 1234,1,NoOp(obst/apfel hat den Wert ${DB(obst/apfel)})apfelmenge gespeichert werden, so kann dies mit
Set() erfolgen:exten => 1234,1,Set(apfelmenge=${DB(obst/apfel)})15.2.3. Werte aus der Datenbank löschen
DBdel() und
DBdeltree() können zum Löschen von Datenbankeinträgen
genutzt werden.DBdel() und ${DB_DELETE()}
DBdel() einen
einzelnen Eintrag in der Datenbank. Soll der Key apfel in
der Family obst gelöscht werden, so geschieht das wie
folgt:exten => 1234,1,DBdel(obst/apfel)
DB_DELETE() benutzen. Der Aufruf
kann wie folgt erfolgen:exten => 1234,1,NoOp(${DB_DELETE(obst/apfel)})Siehe
auch Abschnitt C.33, „DBdel()“ und Abschnitt D.18, „DB_DELETE()“.DBdeltree()
DBdeltree(). Die Family obst kann mit
exten => 1234,1,DBdeltree(obst)
DBdeltree()“[78] Die Berkeley-Datenbank (Berkeley DB) ist eine hochperformante, eingebettete Datenbank-Bibliothek mit Programmierschnittstellen zu C, C++, Java, Perl, Python, Tcl und vielen weiteren Programmiersprachen. Die Berkeley DB speichert beliebige Schlüssel- oder Datenpaare und unterstützt mehrere Datenelemente für einen einzelnen Schlüssel. Die Berkeley DB ermöglicht Tausende von simultanen Threads zum Manipulieren der Datenbanken, die bis zu 256 Terabyte groß sein können, und läuft auf einer großen Anzahl von Systemen, unter anderem auf den meisten UNIX-artigen und Windows-Systemen und auch auf Echtzeitbetriebssystemen. [Zitiert aus http://de.wikipedia.org/wiki/Berkeley_DB]