(German-language version below)

The Firebird 3 Bootcamp is for admins and developers who have been actively working with Firebird for at least 2 years. The focus is on upgrading to Firebird 3 and optimization of your own database environment (also for Firebird 2.x). You can expect interesting talks covering all aspects of Firebird, IBExpert, Lazarus and Delphi development. The focus is on the practical application of the technologies and methods presented, which can also be implemented with other programming languages.
Benefit from the knowledge of the IBExpert database experts.

Das Firebird 3 Bootcamp wendet sich an Admins und Programmierer, die mindestens 2 Jahre aktiv mit Firebird arbeiten. Dabei konzentrieren wir uns auf den Umstieg auf Firebird 3 und die Optimierung der eigenen Datenbank-Umgebung (auch für Firebird 2.x). Es erwarten Sie interessante Themen rund um die Entwicklung mit Firebird, IBExpert, Lazarus und Delphi. Der Fokus liegt dabei konsequent auf dem praktischen Einsatz der vorgestellten Technologien und Methoden, die auch mit anderen Programmiersprachen umgesetzt werden können.
Profitieren Sie vom Wissen der IBExpert Datenbank Experten.
IBExpert Firebird Bootcamps: Was unsere Kunden sagen
(German-language version below)
Firebird Administrator intensive training with emphasis on speed, security and interfaces.
In our Firebird Power Workshop, we focus on the tasks that an administrator needs to perform to effectively run a Firebird server. The aim is to achieve the optimum speed of the hardware and software used, to guarantee maximum operational reliability, and to be optimally prepared for a breakdown by means of a suitable worst-case scenario. We will also concentrate on the independent implementation of simple requirements in the areas of import, export and reporting.
After an introduction to the basic Firebird technology, the most important files and installation versions for Windows and Linux with Firebird versions 2.x and 3.x will be explained.

Firebird Administrator intensiv-Training mit Schwerpunkt auf Geschwindigkeit, Sicherheit und Schnittstellen.
In unserem Firebird Power Workshop konzentrieren wir uns auf die Aufgaben, die ein Administrator für den effektiven Betrieb eines Firebird-Servers erfüllen muss. Ziel ist es, die optimale Geschwindigkeit der eingesetzten Hardware und Software zu erreichen, eine maximale Betriebssicherheit zu gewährleisten, sowie durch ein geeignetes Worst-Case-Szenario für einen Ausfall optimal vorbereitet zu sein. Auch auf die selbstständige Umsetzung einfacher Anforderungen im Bereich Import, Export und Reporting werden wir uns konzentrieren.
Nach einer Einführung über die Basistechnologie werden die wichtigsten Dateien und Installationsversionen für Windows und Linux mit den Firebird Versionen 2.x und 3.x vermittelt.

This error appears if you are still using the old deprecated ibexpert.stg to store all your IBExpert settings. It indicates that IBExpert.stg is corrupted, cannot be repaired and user database should be used instead.
To solve this issue configure the IBExpert User Database.
If you have not specified a location yourself: by default, the user database file can always be found in the folder: \HK-Software\IBExpert\ibexpert.udb. This area is user-dependent and even if several users work on one machine, each user has their own file.
If you are still using the old ibexpert.stg (default path: \Documents and Settings\<user>\Application Data\HK-Software\IBExpert\IBExpert.stg) then copy this.
(German-language version below)
A user-defined function (UDF) is utilized to perform tasks that Firebird can't. It is an external database function written entirely in another language, such as C++ or Pascal, to perform data manipulation tasks that not directly supported by Firebird/InterBase.
As a lot of Firebird-based software developers know, these functions help you to extend the SQL language as required. But on the downside, the binary implementation requires a compiler on the platform where you want to use the Firebird server. A UDF library available for Win64 can neither be used on Win32 nor on Linux.
Up to Firebird 2.5 the UDF was an extremely powerful implementation, but unfortunately also a critical point of failure. If any of your binary code was not as stable as it should be, especially in multi-user environments, it could crash the Firebird server completely. All connected users would be disconnected, and even though the database file itself should not contain a binary error after this happened, any user application had to be restarted. This might not have been such a big problem with the Firebird Classic version, but today, using a binary UDF is no longer recommended.
This was the reason for the Firebird Project to introduce the new and more stable UDR implementation. A UDR appears to be similar to a UDF, but it is loaded in a considerably more stable way on the server process, and an error in the implementation does not typically crash the server.
Since Firebird 3, it is recommended to use a UDR rather than a UDF and, starting with Firebird 4, the use of UDFs is deactivated by default in the firebird.conf file.
A further implementation for the functional extension of Firebird was also introduced with Firebird 3: stored functions. Similar to the UDR/UDF functions, a stored function can be implemented in the same way as it can be when using a stored procedure, but the concept of functions provides only one result based on the specified input params.
As you might know, there are widely-used UDF implementations, which are all too often completely outdated, such as the FreeAdhocUDF library, which has not been changed or improved during the last 12 years. Libraries like rFunc or FreeAdhocUDF often use very high know-how standards but, based on Firebird’s built-in functions such as substring, the parameter structure is not one-to-one compatible. If you want to use your existing Firebird 2.x-based software in a new non-UDF-based Firebird version 3 or 4, you will need a replacement.
For this reason we have developed a complete new set of functions called IBExpertFunctionLibrary.
Your company licenses the source code of the library as it is, but it is only permitted to use this with databases created by your company for internal or customer use.
This includes access to all new versions of the source code and up to 5 new functional implementations for 12 months.
These functional implementations are limited to the language features already possible in the Firebird language. External software required for the implementation, such as DLLs/SO or other libraries, are not covered by this, but on request, this can also be implemented.
IBExpertFunctionLibrary Enterprise Maintenance Subscription: EUR 1,020.00
The current version 1.0 already basically covers almost all of the functions currently available in FreeAdhocUDF and rFunc. Some functions cannot be implemented or it no longer make any sense to implement them, but these will be available as empty non-functional prototypes, so that a call will not result in an error.
Wie viele Firebird Softwareentwickler wissen, helfen Ihnen diese Funktionen dabei, die SQL-Sprache nach Bedarf zu erweitern. Der Nachteil ist jedoch, dass die binäre Implementierung einen Compiler auf der Plattform erfordert, auf der Sie den Firebird Server verwenden. Eine UDF-Bibliothek, die für Win64 verfügbar ist, kann weder unter Win32 noch unter Linux verwendet werden.
Bis zu Firebird 2.5 war die UDF eine extrem leistungsfähige Implementierung, aber leider auch ein kritischer Fehlerpunkt. Wenn einer Ihrer Binärcodes nicht so stabil war, wie er sein sollte, insbesondere in Mehrbenutzerumgebungen, konnte er den Firebird Server komplett zum Absturz bringen. Alle Client-Verbindungen wurden getrennt, und obwohl die Datenbankdatei selbst keinen Binärfehler enthalten sollte, musste jeder Client neu verbunden werden. Dies mag in der Firebird Classic Version kein so großes Problem gewesen sein, aber heute wird die Verwendung einer binären UDF nicht mehr empfohlen.
Dies war der Grund für das Firebird Projekt, die neue und stabilere UDR-Implementierung einzuführen. Eine UDR scheint einer UDF ähnlich zu sein, aber sie wird auf eine wesentlich stabilere Art und Weise in den Serverprozess geladen, und ein Fehler in der Implementierung führt normalerweise nicht zum Absturz des Servers.
Seit Firebird 3 wird empfohlen, eine UDR statt einer UDF zu verwenden und ab Firebird 4 ist die Verwendung von UDFs in der Datei firebird.conf standardmäßig deaktiviert.
Eine weitere Implementierung für die funktionale Erweiterung von Firebird wurde ebenfalls mit Firebird 3 eingeführt: Stored Functions. Ähnlich wie die UDR/UDF-Funktionen kann eine Stored Function auf die gleiche Weise wie eine Stored Procedure implementiert werden, aber das Konzept der Funktionen liefert nur ein Ergebnis basierend auf den angegebenen Eingabeparametern.
Wie Sie vielleicht wissen, gibt es weit verbreitete UDF-Implementierungen, die allzu oft völlig veraltet sind, wie z. B. die FreeAdhocUDF-Bibliothek, die in den letzten 12 Jahren weder geändert noch verbessert wurde. Bibliotheken wie rFunc oder FreeAdhocUDF verwenden oft sehr hohe Know-How-Standards, aber, basierend auf Firebirds eingebauten Funktionen wie z.B. substring, ist die Parameterstruktur nicht eins-zu-eins kompatibel. Wenn Sie Ihre bestehende Firebird 2.x-basierte Software in einer neuen, nicht UDF-basierten Firebird Version 3 oder 4 verwenden möchten, benötigen Sie einen Ersatz.
Aus diesem Grund haben wir einen komplett neuen Satz von Funktionen mit dem Namen IBExpertFunctionLibrary entwickelt.
Ihr Unternehmen lizenziert den Quellcode der Bibliothek, wie er ist, aber es ist nur erlaubt, diesen mit Datenbanken zu verwenden, die von Ihrem Unternehmen für den internen oder Kundengebrauch erstellt wurden.
Dies beinhaltet den Zugriff auf alle neuen Versionen des Quellcodes und bis zu 5 neue Funktionsimplementierungen für 12 Monate.
Diese funktionalen Implementierungen sind auf die Sprachfeatures beschränkt, die bereits in der Firebird-Sprache möglich sind. Externe Software, die für die Implementierung benötigt wird, wie z.B. DLLs/SO oder andere Bibliotheken, sind davon nicht abgedeckt, können aber auf Anfrage ebenfalls implementiert werden.
Die aktuelle Version 1.0 deckt im Grunde bereits fast alle Funktionen ab, die derzeit in FreeAdhocUDF und rFunc verfügbar sind. Einige Funktionen können nicht implementiert werden oder es macht keinen Sinn mehr, sie zu implementieren, aber diese werden als leere nicht-funktionale Prototypen verfügbar sein, so dass ein Aufruf nicht zu einem Fehler führt.
If you have not specified and registered your IBExpert user database, you will receive the following error message, the first time you start IBExpert:
Please refer to IBExpert User Database.
This error message has nothing to do with IBExpert itself, but with the client configuration.
Change the default value in the IBExpert database registration to the file fbclient.dll in the Firebird 3 subdirectory, then this message should no longer be displayed, as a suitable firebird.msg is also located there (see here under item 15 https://www.ibexpert.net/ibe/index.php?n=Doc.RegisterDatabase#ClientLib.
However, the second message is based on the user name/password combination, which does not correspond to the setting in your database server. One question: Which Firebird server version are you using?
If you require further assistance, we can support you with our IBExpert & Firebird Hotline