Posts Tagged: ‘Lotus Notes’

IBM Notes/Domino 8.5.3 FP6 is available on Fix Central

11. Dezember 2013 Posted by Ralf Petter

IBM Notes Domino 8.5.3 FP6 is available on Fix Central

This Fixpack brings new support for Windows 2012 and support for Windows 8.1 and Mac OS X 10.9 is under review for this Fix Pack. You can find all details what is fixed in this release in the release notes.

So for everyone who is still on 8.5.3 has the possibility to upgrade to the newest client os versions on the different platforms.

Quick-Tipp: Umbenennung der Standardgruppen LocalDomainAdmins und LocalDomainServers

9. Oktober 2013 Posted by Bernd Garrels

Quick-Tipp
Vor einigen Tagen bin ich bei einer Migration eines Domino-Servers darauf gestoßen, dass der Kunde seine Gruppen LocalDomainAdmins und LocalDomainServers umbenannt hatte. Die Umbenennung dieser Gruppen hatte er vor einiger Zeit aufgrund einer Empfehlung vorgenommen. Mir erschließen sich die Gründe für diese Vorgehensweise nicht. Aber ich sehe eine ganze Reihe von Problemen und Gründen, warum man mit einer Umbenennung dieser Gruppen sehr vorsichtig sein sollte:

Da die Gruppen LocalDomainAdmins und LocalDomainServers standardgemäß in jeder (mitgelieferten) Datenbank verwendet werden oder verwendet werden sollten, zieht eine Umbenennung dieser Gruppen einen Rattenschwanz von Umbenennungen auf dem Domino-Server nach sich. Siehe dazu: Rename Group

Auch die meisten Dienstleister liefern ihre Notes-Produkte standardgemäß mit den Gruppen LocalDomainAdmins und LocalDomainServers aus. Wenn dann diese Schablonen so auf den Server gelegt werden, wie sie ausgeliefert werden, oder aus den nicht angepassten Schablonen Datenbanken erzeugt werden, sind die Standard-Gruppen quasi wirkungslos und Zugriffprobleme vorprogrammiert.

Bei einer Domino-Migration sollten System-Datenbanken, wie die mail.box, die log.nsf vor dem ersten Hochfahren des Servers gelöscht bzw. umbenannt werden. Diese Datenbanken werden beim Hochfahren des Servers automatisch erstellt. Hierbei erzeugt der  Domino-Server aus den in eckigen Klammern gesetzten Gruppen der Schablone die entsprechenden Gruppen, beispielsweise aus [LocalDomainAdmins] und [LocalDomainServers] die Gruppen LocalDomainAdmins und LocalDomainServers mit den entsprechend voreingestellten Rechten.

Findet der Server beim Anlegen einer Datenbank keine Person oder Personengruppe mit Manager-Zugriff, so trägt er automatisch den unter der Konfigurationseinstellung Admin in der notes.ini registrierten Administrator in die ACL ein. Findet er keinen Server oder Servergruppe mit Manager-Zugriff, so trägt er auch automatisch den unter den Konfigurationseinstellung ServerName in der notes.ini registrierten Server mit Managerrechten in die ACL ein.

Da die Schablonen während des Setup-Prozesses, also bei jeder Installation und wesentlichen Aktualisierung, im Data-Verzeichnis neu installiert werden, enthalten diese natürlich die Standardgruppen. Demzufolge müssen sie und die daraus neu erstellten Datenbanken ebenfalls entsprechend angepasst werden.


Spätestens an dieser Stelle sollte klar sein, dass eine Umbenennung der Standardgruppen LocalDomainAdmins und LocalDomainServers eine Reihe von fehlerträchtigen Nacharbeiten nach sich zieht, die ein hohes Maß an Aufmerksamkeit und Aufwand erfordern. Bleibt die Frage, durch welchen Vorteil dieser hohe Mehraufwand gerechtfertigt werden sollte.

IBM Lotus Notes Domino 8.5.3 Fix Pack 5 ist erschienen

21. August 2013 Posted by Matthias Adomat

Lotus Notes
Das IBM Lotus Notes und Domino 8.5.3 Fix Pack 5 ist erschienen.

Wir empfehlen die Installation, da bekannte Probleme behoben werden. Fix Packs erscheinen immer zwischen den Major-Relases und sorgen für noch mehr Stabilität der Version, hier der Version 8.5.3. Das aktuelle Fix Pack 5 enthält alle vorhergehende Updates der älteren Fix Packs. Das Fix Pack 5 gilt für alle 8.5.3. Versionen, unabhängig vom Sprachpaket und betrifft den IBM Notes Client und IBM Domino Server.

Mehr Infos und den Download dazu gibt es bei IBM ober direkt über uns.

undokumentierter Lotus-Formula-Befehl “@ExpandNameList”

2. Juli 2013 Posted by Bernd Garrels

Der Lotus-Formula-Befehl @ExpandNameList ist ein nicht dokumentierter Befehl und wird beispielsweise an kritischer Stelle in der Ressourcen-Datenbank verwendet. Leider gibt es einige Einschränkungen bei der Verwendung dieses Befehls. Diese habe ich versucht zu dokumentieren:

@ExpandNameList
Gibt die Liste der Mitglieder einer Gruppe aus dem Domino-Directory zurück. .

Hinweis: Die Mitglieder einer Gruppe vom Typ "Nur Zugriffskontrollliste" oder "Negativliste" werden nicht zurückgegeben. Hier wird nur der Gruppenname zurückgegeben.

Syntax
@ExpandNameList(Servername [: Directory-Name]; Gruppenname[, Parameter ] )

Servername
Name des Servers, in dessen Domino-Directory sich die aufzulösende Gruppe befindet.

Hinweis: Es muss unbedingt der Servername eines existierenden Servers angegeben werden. Wenn der Server nicht festgestellt werden kann, wird nur der Gruppenname zurückgegeben.

Directory-Name
Name des Domino-Directory

Gruppenname
Name der Gruppe, die aufgelöst werden soll.

Parameter
[IGNORE_FWD_ADDRESS]
Ab Version 377 (8.5.2). Verwendet in der Reservierungs-Datenbank, Funktion unbekannt

Beispiel:
@ExpandNameList( @Subset(@DbName;1) ; Gruppenname)

Fehler im PostSave Event bei neuen Dokumenten

18. Juni 2013 Posted by Manuel Nientit

Lotus Notes
Kürzlich hat einer unserer Kunden die Notes-Version von 7.x auf 8.5.3 FP3 aktualisiert, was an sich eine gute Idee ist .
In Folge dessen sind zwei unserer Anwendungen auf die Nase gefallen, da es offenbar mit Notes-Versionen > 8.5.x einen Fehler im PostSave-Event gibt. Da wir in unseren Anwendungen recht selten auf das PostSave-Event überhaupt zurück greifen, ist das auch nicht vorher schon bei anderen Kunden oder Anwendungen aufgefallen.

Das Problem betrifft offenbar NotesDocument-LotusScript-Objekte von Dokumenten, die gerade erst neu angelegt wurden und vor dem PostSave das erste Mal gespeichert wurden. Offenbar ist dieses Objekt zum Zeitpunkt, in dem das PostSave ausgelöst wird, noch nicht vollständig initialisiert, so dass einige Properties oder Funktionen fehlerhafte Werte zurück geben oder gleich Fehler werfen.

Die Reihenfolge ist also folgendermaßen:
  1. Das Dokument wird neu erzeugt. Bei der Erzeugung wird im QueryOpen gemäß "unserem" Model-View-Controller-Konzept das Model mitsamt dem Document-Object erzeugt
  2. Nach einigen Eingaben wird die Speicherung ausgelöst
  3. Im QuerySave wird das Dokument validiert
  4. Das Dokument wird (nach erfolgreicher Validierung) gespeichert
  5. Im PostSave greifen wird auf Eigenschaften und Funktionen des Document-Objects zu, das wir im QueryOpen erzeugt haben. Dabei passieren die besagten Fehler.

Die folgenden zwei Fehler sind dabei konkret (in jeweils einer anderen Anwendung) aufgetreten, aber es mag natürlich noch mehr geben:

NotesDocument.NoteID gibt den Wert "0"


Wir rufen in einer Anwendung einen Agenten aus dem PostSave heraus auf, weil dieser den Out-of-Office-Agenten (oder Service) aktivieren soll. Beim Aufruf wird die NoteID als Kontext übergeben:
agent.runOnServer(source.document.noteID)
Die NoteID wird dann im Agenten selbst wieder aus dem Kontext ausgelesen:
session.currentAgent.ParameterDocNoteID
Aber - oh weh - die NoteID ist "0", so dass der Agent natürlich mit Fehlermeldung aussteigt. Das hat in früheren Notes-Versionen noch funktioniert, aber war auch mit Notes 9 noch reproduzierbar. Dass es sich hier um nicht beabsichtigtes Verhalten handeln muss, zeigt sich auch daran, dass es einen leicht krummen aber einfachen Workaround gibt. Wir holen uns die NoteID einfach mit Formelsprache:
noteID = Evaluate(|@Right(@NoteID;"NT")|, source.document)
und übergeben diese einfach an den Agenten:
agent.runOnServer(noteID(0))

Nun mag man kein Freund davon sein, Formelsprache mit Evaluate in LotusScript auszuführen, aber zumindest funktioniert es.

Fehler mit NotesDocument.CopyToDatabase


In einer anderen Anwendung werden Dokumente im PostSave (auf Nachfrage hin) in eine Archivdatenbank kopiert. Dazu nutzen wir die Funktion:
NotesDocument.copyToDatabase(NotesDatabase)
Diese Funktion wirft allerdings den Fehler "Invalid or nonexistent document". Wenn man nach dieser Fehlermeldung im Kontext mit copyToDatabase bei Gugl sucht, findet man auch. Allerdings funktioniert der vorgeschlagene Lösungsweg, den Code in das PostSave zu verschieben, eben nicht - oder nicht ohne Weiteres.
Und die Lösung dafür ist ähnlich Facepalm-tauglich, wie die Obige.
Man hole sich die UniqueID des aktuellen Dokumentes und erzeuge sich davon ein neues Notesdocument Objekt, um darauf die Operation auszuführen. Das könnte ungefähr so aussehen:
unid = source.Document.Universalid
Set newDocumentObject = notesDatabase.getDocumentByUNID(unid)
Set archiveDoc = newDocumentObject.CopyToDatabase(archiveDB)

Ich bin nicht begeistert, aber es läuft . Dieses zweite Problem war übrigens mit Notes 9 nicht mehr reproduzierbar.

Ergänzungen zu weiteren Fehlern ähnlicher Natur oder Anregungen zu Lösungsstrategien sind immer herzlichst willkommen .

Law of Software Envelopment

26. April 2013 Posted by Alexander Kluge

Lotus_Notes

“Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.”

~ Law of Software Envelopment (by Jamie Zawinski)


Vorsicht: Deutsche Notes 9-Mail-Schablone hat gleiche Replik-ID wie die von 8.5.3

24. April 2013 Posted by Thomas Bahn

Lotus NotesLotus DominoLotus Notes Traveler
Ich bin gerade zufällig darauf gestoßen: Die mail9.ntf vom deutschen Notes 9-Client bzw. vom Domino 9-Server mit deutschem Sprachpaket hat dieselbe Replik-ID (48257513:0012AC3D) wie die mail85.ntf aus den 8.5er Versionen!

Das bedeutet, dass wenn man nur einen einzigen Domino-Server der Version 9 in eine Umgebung mit 8.5er-Servern bringt und - wie es wohl sehr viele bei z. B. Notes Traveler- oder BES-Servern machen - ein "Repliziere alles"-Verbindungsdokument erstellt, wird die Gestaltung der mail85.ntf überschrieben.
 
A picture named M2


Wenn man dann auch noch den Designer-Task laufen lässt, werden auch alle Mail-Datenbanken mit der Standard-Schablone auf die Version 9 der Schablone aktualisiert. Standardmäßig läuft der Designer jede Nacht um 1 Uhr auf jedem Domino-Server: siehe ServerTasksAt1 in der notes.ini der Domino-Server bzw. show config ServerTasksAt1 in der Serverkonsole.

Kurzfristige Abhilfemöglichkeiten:
  • Löschen der mail9.ntf (oder mail85.ntf) von allen Servern,
  • die Replikation der mail9.ntf in den Replikationseinstellungen (temporär) deaktivieren,
  • in den Verbindungsdokumenten die mail9.ntf als Ausnahme definieren,
  • sofort nach der Installation eine Kopie der mail9.ntf innerhalb des Notes-Clients machen (nicht auf Betriebssystemebene, sondern im Notes-Client, damit die Schablone eine neue Replik-ID bekommt),
  • ...

Aktualisierungen für Notes und Domino 8.5.3

19. April 2013 Posted by Thomas Bahn

Lotus NotesLotus DominoLotus Notes Traveler
Die letzten Tage sind einige Aktualisierungen für Notes und Domino in der Version 8.5.3 erschienen:

Das Fix Pack 4 für Notes und für Domino 8.5.3, sowie der Interims Fix 2 zum Upgrade Pack 2 für den Lotus Notes Traveler 8.5.3.

Übersicht der System-Voraussetzungen von Notes, Domino, Domino-Administrator, Domino-Designer und Notes Traveler

26. März 2013 Posted by Thomas Bahn

AdministrationEntwicklungLotus NotesLotus DominoLotus Notes Traveler

Alle System-Voraussetzungen von IBM (Lotus) Notes (inklusive Designer- und Administrator-Client), IBM (Lotus) Domino und IBM (Lotus) Notes Traveler, also z. B. welche Betriebssysteme und Browser offiziell von IBM unterstützt werden, kann man in der folgenden Übersicht sehr schnell und einfach nachsehen - und das für alle Versionen von 7.0 bis 9.0:

Index of system requirements for Notes, Domino, Domino Administrator, Domino Designer & Notes Traveler

Quick-Tipp: Ein Feld namens URL

26. März 2013 Posted by Thomas Bahn

Quick-Tipp
Wenn man hybride Notes-Web-Anwendungen entwickelt, auf die einige Benutzer vielleicht ausschließlich über die Web-Oberfläche zugreifen können, möchte man trotzdem ganz schnell und einfach Verknüpfungen auf die Dokumente erzeugen können, die auch von diesen nur-Browser-Benutzern verwendet werden können.

In eine klassischen Notes-Anwendung kann man über Bearbeiten - Kopieren als... - Dokumentlink (oder über das Kontextmenü via Rechtsklick) sehr leicht eine Verknüpfung in die Zwischenablage kopieren und dann z. B. in eine E-Mail einfügen.


Wenn man das bei einer hybride Notes-Web-Anwendung macht, geht das natürlich auch, die Verknüpfung ist aber für die Benutzer, die nur über die Web-Oberfläche auf diese Anwendung zugreifen sollen oder dürfen, obwohl sie aber sonst vielleicht einen Notes-Client haben, nicht so einfach nutzbar. Auch hat man keine Kontrolle darüber, wie die erzeugte Verknüpfung genau aufgebaut ist.

Aber auch dafür gibt es natürlich bei Notes eine sehr einfache, leicht zu implementierende Lösung:  

Enthält das Dokument ein Item namens URL, wird bei Bearbeiten - Kopieren als... - Dokumentlink (bzw. dem entsprechenden Kontextmenü-Eintrag) der Inhalt dieses Items in die Zwischenablage kopiert.

So kann man ganz einfach selbst eine URL zusammenbauen, sei es eine notes://- oder eine http://-URL, egal ob man damit das Dokument direkt aufruft, einen Agenten oder gar eine XPage, und ob man das Dokument direkt referenziert oder  z. B. den eindeutigen (fachlichen) Schlüssel des Dokuments als Parameter übergibt.

Wenn man dann doch mal eine "normale" Notes-Verknüpfung braucht, kann man - wie auch sonst immer - einfach den Reiter des Dokuments in das gewünschte Notes-RichText-Feld ziehen.

Scott Souder has started his blog.

21. März 2013 Posted by Ralf Petter

Scott Souder the successor of ed brill in the IBM Messaging and Collaboration division has started his new blog on sssouder.com. I hope his blog will get as informative as the blog of ed brill which was one of the most valuable information source in the IBM collaboration bubble. So good luck to scott souder in his new role and with his new blog.

And by the way, the blog he is using runs on Domino and looks really well.


Lotus Notes 9 final is available in passport advantage

21. März 2013 Posted by Ralf Petter

I am so excited that Lotus Notes 9 is available. Now i am downloading the code and will post what has changed since the public beta later today.



The product codes for the most important downloads are:

IBM Notes, Domino Designer and Admin V9.0 for Windows XP,Vista and Windows 7 32 Bit English(CIB9AEN)

IBM Notes Client V9.0 for Windows English(CIB8LEN)

IBM Notes Client V9.0 for Mac English(CIB8PEN)

IBM Notes Client V9.0 for Linux (RPM Install) English(CIB8MEN)

IBM Notes Client V9.0 for Linux (Debian Install) English(CIB8NEN)

IBM Notes Traveler V9.0 for Windows Multilingual(CIB95ML) 

IBM Domino Sever V9.0 64 bit for Windows English(CIBM1EN)

IBM Domino Sever V9.0 32 Bit for Windows English(CIBM0EN) 





0×0

14. März 2013 Posted by Alexander Kluge

0x0


Gedanken zur Edcom Nachlese 2013

20. Februar 2013 Posted by Ralf Petter

Die letzten zwei Tage war ich auf der Edcom Nachlese in München. Zwei Tage vollgepackt mit interessanten Sessions, vielen Gesprächen mit anderen Anwendern von IBM Produkten und einer gemütlichen Abendveranstaltung mit sehr gutem Essen.

Einige Punkte die ich von der Veranstaltung mitnehmen konnte:

Die Sessions zu Connections waren teilweise eher weniger besucht. Im Vergleich dazu waren die Sessions zu Neuerungen in Notes/Domino 9 so voll, dass gar nicht alle sitzen konnten. Man sieht also, dass das Interesse an Notes nachwievor sehr groß ist.

In Notes und Domino 9 gibt es noch mehr Neuigkeiten als ich bisher kannte. Vielleicht kann ich noch den einen oder anderen Blogpost dazu erfassen, wenn ich auch diese Features getestet habe.

xPages ist noch immer ein großes Thema bei der IBM, auch wenn ich nach wie vor eher skeptisch bin was xPages betrifft. Der neue Serverside Javascript Debugger von xPages in Notes 9 sieht nicht schlecht aus.  Auch die Managed Beans die man in xPages verwenden kann, sind eine gute Erweiterung der Möglichkeiten des xPages Entwicklers.

Connections ist ein interessantes Produkt mit vielen Möglichkeiten, dass aber aufwendig einzurichten und vor allem zu administrieren ist. Was sich die IBM dabei denkt, dass es keine UI für die Administration gibt und man sämtliche Administrierungstätigkeiten in XML Dateien bzw über kryptische Befehle auf der Commandline erledigen soll, erschließt sich mir nicht wirklich.

Die TimetoAct hat mit dem Connections Administration Toolkit (CAT) ein sehr interessantes Werkzeug zur Administration von Connections im Angebot, dass die Defizite der IBM ausgleichen kann.

Scott Souder und Chris Crummney haben die Keynotes gehalten und konnten eine sehr positive Stimmung verbreiten. Scott Souder präsentierte erfreuliche Nachrichten für den Bereich Notes/Domino. Die Anzahl der Kunden mit aktiven Wartungsverträge ist 2012 wieder gestiegen. 1500 Kunden die Ihre Verträge früher nicht mehr verlängert hatten, sind 2012 wieder zurückgekehrt. Ich denke Scott Souder der Notes seit Version 1 kennt, hat die Fähigkeiten die Lücke die der Wechsel von Ed Brill zur mobility Sparte hinerlassen hat zu schließen. Ein Blog von Scott, ählich dem von Ed Brill ist bereits in Vorbereitung und soll demnächst online gehen.


Scott Souder hat in der Fragestunde gemeint, dass der Designer und der Notesclient getrennt werden sollen, damit die Eclipseversion des Designer schon früher aktualisiert werden kann. Aber auch der Client soll in der nächsten Major Version nach 9 auf die aktuelle Eclipseversion gebracht werden. Dies ist mir als Pluginentwickler von sehr großer Bedeutung Ebenfalls auf meine Frage hin wurde versprochen, dass auch die Bereiche die derzeit noch im alten Design sind an die neue Designsprache angepasst werden. z.B. der Anwendungs Öffnendialog wurde von ihm explizit erwähnt. Er meinte auch, dass seit der öffentlichen Beta im Dezember noch viele Verbesserungen eingebaut wurden.

Volker Weber hat seine neuesten Handys Blackberry Z10 und Nokia Lumia 920 vorgezeigt und erklärt. Blackberry 10 sieht wirklich sehr gut aus und vor allem die perfekte Trennung zwischen geschäftlicher und privater Umgebung ist ein echtes Alleinstellungsmerkmal von Blackberry. Blackberry 10 wird vom Traveler 9 unterstützt. Ein Blackberry Enterprise Server ist für Blackberry 10 nur notwendig, wenn ich die Trennung zwischen geschäftlich und privat haben möchte. Sonst kann man das Z10 auch ohne BES betreiben. Der BES 10 ist wesentlich ressourcenschonender, da er eigentlich nur mehr ein Provider für eine sichere Verbindung ins Firmennetzwerk ist. Die eigentliche Synchronisation mit Domino erfolgt ebenfalls über Activesync und dem Traveler. Auch das Lumia 920 macht einen extrem guten Eindruck und wird ebenfalls ab Traveler 9 unterstützt. Die Kamera des Lumia ist ein echtes Highlight und macht vor allem bei wenig Licht für eine Handykamera fantastische Fotos. Auch sonst läuft Windows Phone 8 extrem flüssig und ist auf jeden Fall eine Alternative zu iOS und Android.

Alles in allem eine rundum gelungene Veranstaltung, die sich auf jeden Fall ausgezahlt hat.




Notes ist eine relationale Datenbank!

17. Februar 2013 Posted by Ralf Petter

Natürlich ist der Standardspeicher NSF von Notes nach wie vor keine relationale Datenbank und auch NSFDB2 ist schon lange kein Thema mehr. Jedoch gibt es seit der Version 8 gut versteckt im Expeditor Framework eine leichtgewichtige aber nicht desto trotz sehr leistungsfähige relationale Datenbank (Apache Derby) die über eine umfangreiche SQL Unterstützung verfügt. Diese Datenbank ist sehr praktisch, wenn man Daten lokal in einer relationalen Form ablegen will. Ein Beispiel wäre man will ein Plugin, dass normalerweise nur mit einem SQL Server funktioniert offline fähig machen. Man kann aber auch Daten aus einer NSF in die Derby Datenbank kopieren und dort dann mit SQL Auswertugen über die Daten machen die mit der Notes API nur schwer oder beinahe unmöglich sind.

Wie kann man nun Apache Derby aus einem Plugin ansprechen? Als erste muss man das Derby Plugin zu den Abhängigkeiten seines Plugins hinzufügen.


Dann kann man auch schon von seinem Code auf Apache Derby zugreifen. Der folgende Code erstellt eine Datenbank mit dem Namen testDB mit einer Mitarbeitertabelle die mit ein paar Namen befüllt wird. Nachher kommt ein Query auf die neu erstellten Daten das Ergebnis wird in eine Messagebox ausgegeben. Natürlich nicht sehr sinnvoll, aber es zeigt alle notwendigen Befehle die man für die Verwendung von Derby braucht. Natürlich wird man die Initialisierung und Erstellung der Datenbank in eine eigenes Plugin auslagern, aus denen sich dann alle Plugins die Derby verwenden wollen die Connection holen. Ebenso sollte man die stmt.execute in einer Echtanwendung durch PreparedStatements ersetzen.


try {
// Derby Datenbankverzeichnis in das Datenverzeichnis des Plugins
// legen.
// Dies sollte natürlich immer das gleiche sein und am besten in ein
// Initialisierungsplugin verlegt werden.
System.setProperty("derby.system.home", Activator.getDefault()
.getStateLocation().toFile().getAbsolutePath());
// Treiber für Apache Derby laden.
Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
// Eine Konnection zu Apache Derby erstellen und bei Bedarf die
// Datenbank testDB erstellen.
Connection con = DriverManager
.getConnection("jdbc:derby:testDB;create=true");
// Ein SQLStatement Objekt erstellen.
Statement stmt = con.createStatement();
// Eine Tabelle in der Datenbank erstellen.
stmt.execute("create table mitarbeiter (name1 varchar(30), name2 varchar(30), department varchar(30))");
// Ein paar Sätze hinzufügen.
stmt.execute("insert into mitarbeiter values('Ralf','Petter','IT')");
stmt.execute("insert into mitarbeiter values('Max', 'Mustermann','IT')");
stmt.execute("insert into mitarbeiter values('Lieschen', 'Müller','Sales')");
// Ein Query auf die Datenbank absetzen.
ResultSet rs = stmt
.executeQuery("Select * from mitarbeiter where department='IT'");
// Ergebnis verarbeiten und als Messagebox anzeigen.
StringBuilder result = new StringBuilder();
while (rs.next()) {
result.append((rs.getString("name1").trim() + " "
+ rs.getString("name2").trim() + "\n"));
}
MessageBox box = new MessageBox(PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getShell());
box.setMessage(result.toString());
box.open();
// Mitarbeiter Tabelle wieder löschen.
stmt.execute("Drop table mitarbeiter");
// Derby wieder herunterfahren.
DriverManager.getConnection("jdbc:derby:;shutdown=true");
} catch (Exception e) {
e.printStackTrace();
}

Eine SQL Datenbank kann in vielen Projekten sehr nützlich sein und mit dem Notesclient hat man eine sehr leistungsfähige immer bei der Hand.