IBExpert & Firebird Prepaid Hotline

(German-language version below)

Telephone and/or remote support billed by the minute

Languages spoken: English and German. Including remote support using pcvisit. All questions regarding Firebird, Delphi®, IBExpert and Lazarus are welcome.

We will schedule a support appointment as soon as possible after receiving your support request and validating your credit. Should you require our support, billing will be in accordance with our general conditions, as described here:

Standard Hotline: Monday - Friday 08:00 -18:00 (CET):
Hotline customer account: - 1 minute for each minute used*
135 €/hour
Hotline Express: Monday - Sunday 08:00 - 22:00 (CET):
Hotline customer account: - 2 minutes per minute used*
270 €/hour
Hotline Express Emergency: Monday - Sunday after 22:00 (CET):
Hotline customer account: - 3 minutes per minute used*
405 €/hour

* We recommend setting up a prepaid hotline customer account with a sufficient credit balance (e.g. 960 minutes) so that we can help you quickly and unbureaucratically in an emergency and you save time and money. Your hotline credit does not expire and can be used as required.
Your hotline customer account will be debited with the exact number of minutes used during a remote or telephone session.

You can find our price list here.

And this is how it works: After activating your hotline customer account in the IBExpert Download Center, you can view your prepaid code, your available hotline minutes and a list of your hotline sessions with start and end times under Hotline Information. You will be connected directly to your contact person via your hotline telephone number, which you will receive by e-mail (no call center!). You should quote the prepaid code when you call.

Our IBExpert and Firebird hotline is available worldwide.

You can find a summary of all IBExpert services and fees under All products & prices. If you have any further questions please mail sales@ibexpert.biz




IBExpert und Firebird Prepaid Hotline

Support per Telefon und/oder Remote mit minutengenauer Abrechnung

Sprachen: Englisch und Deutsch. Inklusive Remote-Support mit pcvisit. Alle Fragen zu Firebird, Delphi®, IBExpert und Lazarus sind willkommen.

Einen Support-Termin vergeben wir schnellstmöglich nach Eingang Ihrer Supportanfrage und Prüfung Ihres Guthabens. Sollten Sie unsere Unterstützung benötigen, erfolgt die Abrechnung gemäß unserer Rahmenbedingungen, wie hier beschrieben: 

Standard Hotline: Montag - Freitag 8.00 -18.00 Uhr (MEZ):
Hotline Kundenkonto: - 1 Minute je verbrauchter Minute*
135 €/Stunde
Hotline Express: Montag - Sonntag 8.00 - 22.00 Uhr (MEZ):
Hotline Kundenkonto: - 2 Minuten je verbrauchter Minute*
270 €/Stunde
Hotline Express Emergency: Montag - Sonntag ab 22.00 Uhr (MEZ):
Hotline Kundenkonto: - 3 Minuten je verbrauchter Minute*
405 €/Stunde

* Wir empfehlen, ein prepaid Hotline-Kundenkonto mit einem ausreichend hohen Guthaben einzurichten (z.B. 960 Minuten), so können wir Ihnen im Notfall schnell und unbürokratisch helfen und Sie sparen Zeit und Geld. Ihr Guthaben verfällt nicht und kann bei Bedarf abgerufen werden.
Ihr Hotline-Kundenkonto wird mit der genauen Anzahl der verbrauchten Minuten einer Remote- oder Telefon Session belastet.

Unsere Preisliste finden Sie hier.

Und so geht's: Nach Freischaltung Ihres Hotline-Kundenkontos im IBExpert Download Center können Sie unter Hotline Information Ihren Prepaid Code, Ihre verfügbaren Hotline-Minuten und die Auflistung Ihrer Hotline-Sessions mit Start- und Endzeit einsehen. Sie werden über Ihre Hotline-Telefonnummer, die Sie per E-Mail erhalten, direkt mit Ihrem Ansprechpartner verbunden (kein Call Center!). Ihren Prepaid Code teilen Sie Ihrem Ansprechpartner bei Ihrem Anruf mit.

Unsere IBExpert und Firebird Hotline steht Ihnen auch in Ländern außerhalb Deutschlands zur Verfügung.

Eine Übersicht aller IBExpert Dienstleistungen und Gebühren finden Sie unter Alle Produkte & Preise. Wenn Sie weitere Fragen haben, senden Sie bitte eine Mail an sales@ibexpert.biz


Database Repair & Analysis

(German-language version below)

IBExpert Database analysis/database repair

If you are confronted with a damaged or corrupt database we can often offer a rapid solution without even having to come out and analyze the corrupt database on site. Before we can provide you with our database repair estimate, we must first analyse your database.

For the database analysis we charge a prepayment fee of EUR 150.00. Should you require a prompt database analysis, e.g. due to an emergency, we charge a prepayment fee of EUR 300.00.

If a database repair is possible following the analysis, you will receive our written cost estimate. Experience shows that we can repair most databases.

After you have contacted us and outlined your database problem, send a copy of your database (postal address here) compressed as a ZIP or 7Z file, ideally on a USB stick or USB drive. Please ensure as far as possible that individual ZIP files are no larger than 10MB (most ZIP applications allow you to pack into multiple files).

Please don't forget to mention which software you are using and which Firebird version is in use.

If the database is smaller than 50MB, you can mail it to us at: sales@ibexpert.biz.

Alternatively we can provide an FTP upload address for larger databases.

Any data media supplied will be returned and charged separately if wished. 





IBExpert Datenbankanalyse/Datenbankreparatur

Wenn Ihre Datenbank beschädigt ist, können wir eine schnelle Lösung anbieten, ohne dass wir bei Ihnen vor Ort die defekte Datenbank analysieren müssen. Bevor wir Ihnen unseren Kostenvoranschlag zur Datenbankreparatur unterbreiten können, müssen wir zunächst einmal ihre Datenbank analysieren.

Für die Datenbankanalyse berechnen wir eine Aufwandsentschädigung von 150,00 Euro per Vorauskasse. Sollten Sie eine zeitnahe Datenbankanalyse wünschen, z.B. wegen eines Notfalls, berechnen wir eine Aufwandsentschädigung in Höhe von 300,00 Euro per Vorauskasse.

Wenn nach erfolgter Analyse eine Datenbankreparatur möglich ist, erhalten Sie unseren Kostenvoranschlag. Erfahrungswerte zeigen, dass wir die meisten Datenbanken reparieren können.

Nachdem Sie uns kontaktiert und Ihre Datenbankproblematik geschildert haben, senden Sie uns (unsere Postanschrift finden Sie hier) eine Kopie Ihrer Datenbank, gepackt als ZIP oder 7Z Datei vorzugsweise auf einem USB Stick oder USB-Laufwerk. Die einzelnen ZIP-Dateien sollten möglichst nicht größer als 10MB sein (die meisten ZIP Anwendungen ermöglichen die Komprimierung in mehrere Dateien).

Bitte vergessen Sie nicht, uns die eingesetzte Software- und Firebird Version mitzuteilen.

Wenn die Datenbank kleiner als 50MB ist, können Sie diese auch per E-Mail senden: sales@ibexpert.biz.

Für große Datenbanken erhalten Sie eine FTP Upload Adresse.

Gelieferte Medien erhalten Sie auf Wunsch mit separater Rechnung zurück. 


Privacy policy



(German-language version below)

Website privacy policy and information for those affected by Articles 13 and 14 of the EU General Data Protection Regulation

General Information

Information about the controller

Company: IBExpert Ltd
Legal representative: Holger Klemt
Address:


22 Triq Ir-Rabat
Marsalforn, Iz-Zebbug
MFN 9012
Malta
Contact: info@ibexpert.com

Specific information about the website

Newsletter

As part of the registration process for our newsletter, you will need to provide us with your e-mail address and other optional data. We will only use this information to send you the newsletter. We will store the data you provide when registering for the newsletter until you unsubscribe from our newsletter. It is possible to unsubscribe at any time via the link provided in the newsletter, or by providing us with appropriate notification. By unsubscribing you withdraw your consent to the use of your e-mail address.

Furthermore, we will only use your e-mail address, which we have obtained in connection with the sale of a product or service, exclusively for direct marketing in the form of our newsletter for similar products or services of our own company to those purchased, unless you have objected to this use. You may withdraw permission to use your e-mail address at any time without incurring any costs other than the base rate transmission costs. Your objection (and thus the cancellation of our newsletter) can be exercised by an appropriate message to our e-mail address.

Use of custom "cookies"

This website uses its own "cookies" to increase user-friendliness ("Cookies" are data records sent by the web server to the user's browser and stored there for subsequent retrieval). Our custom "cookies" do not store any personal information. You can generally prevent the use of "cookies" by setting your browser to disallow the storage of "cookies".

General data processing information

Affected data:

Personal data is only collected if you provide it to us voluntarily. No additional personal data is collected. Any processing of your personal data that goes beyond the scope of the statutory conditions will only be based on your express consent.

Processing purpose: Contract execution.
Categories of recipients: Public entities with priority legislation.
External service providers or other contractors.
Other external bodies if the data subject has given his consent or the transmission of the data is permitted by another prevailing interest.
Third country transfers: Within the scope of the contract execution, processors based outside the European Union may also be used.
Storage period: The duration of the data storage depends on the statutory storage requirements and usually constitutes a period of 10 (ten) years.

Details of other data processing methods

Specific information for the processing of customer data/prospective customer data

Data provided for the execution of contracts, software activation and usage information; if necessary, additional data for processing, if the data subject has given his explicit consent.

Processing purpose: Contract execution, as well as the activation, registration and administration of the IBExpert software registrations and, if relevant, administration of the support hotline account (balance and usage).
Categories of recipients: Public entities with priority legislation.
External service providers or other contractors.
Other external bodies if the data subject has given his consent or the transmission of the data is permitted by another prevailing interest.
Third country transfers: Within the scope of the contract execution, processors based outside the European Union may also be used.
Storage period: The duration of the data storage depends on the statutory storage requirements and usually constitutes a period of 10 (ten) years.

Specific information for the processing of supplier data

Contract execution; if necessary, additional data for processing, if the data subject has given his explicit consent.

Processing purpose: Contract fulfilment.
Categories of recipients: Public entities with priority legislation.
External service providers or other contractors.
Other external bodies if the data subject has given his consent or the transmission of the data is permitted by another prevailing interest.
Third country transfers: Within the scope of the contract execution, processors based outside the European Union may also be used.
Storage period: The duration of the data storage depends on the statutory storage requirements and usually constitutes a period of 10 (ten) years.

Specific information regarding job applications

Affected data: Application information.
Processing purpose: Implementation of the job application process.
Categories of recipients: Public entities with priority legislation.
External service providers or other contractors.
Other external bodies if the data subject has given his consent or the transmission of the data is permitted by another prevailing interest.
Third country transfers: Within the scope of the contract execution, processors based outside the European Union may also be used.
Storage period: Application data will generally be deleted within four months following notification of the decision, unless consent has been given for a longer period of data storage.

Further information and contacts

In addition, you also have the right to demand the amendment, deletion or restricted processing of data, or to exercise your right of objection to processing and the right to data portability at any time. Here you can contact us by e-mail or letter. You also have the right to contact the data protection authorities in the event of any grievances.

Update of this Privacy Policy

IBExpert Ltd reserves the right to update this privacy policy as necessary to adapt to technical developments or in connection with the offer of new services or products. The latest version can always be viewed on the website https://ibexpert.net/cms/ via the Website Privacy Policy link. 





Webseiten-Datenschutzerklärung und zugleich Information der Betroffenen gemäß Artikel 13 und Artikel 14 EU-Datenschutzgrundverordnung

Allgemeine Angaben

Angaben zur verantwortlichen Stelle

Unternehmen: IBExpert Ltd
Gesetzlicher Vertreter: Holger Klemt
Adresse:


22 Triq Ir-Rabat
Marsalforn, Iz-Zebbug
MFN 9012
Malta
Kontaktdaten: info@ibexpert.com

Spezifische Angaben zur Webseite

Einsatz eines Newsletters

Im Rahmen der Registrierung unseres Newsletters teilen Sie uns Ihre E-Mail-Adresse und optional weitere Daten mit. Diese Angaben verwenden wir ausschließlich, um Ihnen den Newsletter zuzusenden. Ihre bei der Newsletter-Anmeldung eingegebenen Daten bleiben bei uns gespeichert, bis Sie sich wieder von unserem Newsletter abmelden. Eine Abmeldung ist jederzeit über den dafür vorgesehenen Link im Newsletter oder eine entsprechende Mitteilung an uns möglich. Mit der Abmeldung widersprechen Sie der Nutzung Ihrer E-Mail-Adresse.

Ihre E-Mail-Adresse, die wir im Zusammenhang mit dem Verkauf einer Ware oder Dienstleistung erhalten, nutzen wir darüber hinaus ausschließlich für Direktwerbung in Form unseres Newsletters für eigene ähnliche Waren oder Dienstleistungen, wie die von Ihnen bestellten, sofern Sie dieser Verwendung nicht widersprochen haben. Sie können der Verwendung Ihrer E-Mail-Adresse jederzeit widersprechen, ohne dass hierfür andere als die Übermittlungskosten nach den Basistarifen entstehen. Ihr Widerspruch (und damit die Abbestellung unseres Newsletters) kann durch entsprechende Nachricht an unsere E-Mail-Adresse (siehe Impressum) ausgeübt werden.

Einsatz eigener „Cookies“

Diese Webseite verwendet eigene „Cookies“, um die Benutzerfreundlichkeit zu erhöhen („Cookies“ sind Datensätze, die vom Webserver an den Browser des Nutzers gesendet und dort für einen späteren Abruf gespeichert werden). In unseren eigenen „Cookies“ werden keinerlei personenbezogene Daten gespeichert. Sie können die Verwendung von „Cookies“ generell verhindern, wenn Sie in Ihrem Browser die Speicherung von „Cookies“ untersagen.

Allgemeine Datenverarbeitungs-Informationen

Personenbezogene Daten werden nur erhoben, wenn Sie uns diese von sich aus mitteilen. Darüber hinaus werden keine personenbezogenen Daten erhoben. Eine über die Reichweite der gesetzlichen Erlaubnistatbestände hinausgehende Verarbeitung Ihrer personenbezogenen Daten erfolgt nur auf Grundlage Ihrer ausdrücklichen Einwilligung.

Verarbeitungszweck: Vertragsdurchführung.
Kategorien von Empfängern: Öffentliche Stellen bei Vorliegen vorrangiger Rechtsvorschriften.
Externe Dienstleister oder sonstige Auftragnehmer.
Weitere externe Stellen soweit der Betroffene seine Einwilligung erteilt hat oder eine Übermittlung aus überwiegendem Interesse zulässig ist.
Drittlandtransfers: Im Rahmen der Vertragsdurchführung können auch Auftragsverarbeiter außerhalb der Europäischen Union zum Einsatz kommen.
Dauer Datenspeicherung: Die Dauer der Datenspeicherung richtet sich nach den gesetzlichen Aufbewahrungspflichten und beträgt in der Regel 10 Jahre.

Angaben zu weiteren Datenverarbeitungsverfahren

Spezifische Angaben zur Verarbeitung von Kundendaten/Interessentendaten

Zur Vertragsdurchführung mitgeteilte Daten, Lizenz- und Nutzungsinformationen; ggfs. darüber hinaus gehende Daten zur Verarbeitung auf Basis Ihrer ausdrücklichen Einwilligung.

Verarbeitungszweck: Vertragsdurchführung, sowie die Aktivierung, Registrierung und Verwaltung der IBExpert Software Registrierungen sowie ggfs. Verwaltung von Support Hotline Guthaben und Verbrauch.
Kategorien von Empfängern: Berechtigte Mitarbeiter der IBExpert GmbH
Öffentliche Stellen bei Vorliegen vorrangiger Rechtsvorschriften.
Externe Dienstleister oder sonstige Auftragnehmer.
Weitere externe Stellen soweit der Betroffene seine Einwilligung erteilt hat oder eine Übermittlung aus überwiegendem Interesse zulässig ist.
Drittlandtransfers: Im Rahmen der Vertragsdurchführung können auch Auftragsverarbeiter außerhalb der Europäischen Union zum Einsatz kommen.
Dauer Datenspeicherung: Die Dauer der Datenspeicherung richtet sich nach den gesetzlichen Aufbewahrungspflichten und beträgt in der Regel 10 Jahre.

Spezifische Angaben zur Verarbeitung von Lieferantendaten

Zur Vertragsdurchführung mitgeteilte Daten; ggfs. darüber hinaus gehende Daten zur Verarbeitung auf Basis Ihrer ausdrücklichen Einwilligung.

Verarbeitungszweck: Vertragsdurchführung.
Kategorien von Empfängern: Öffentliche Stellen bei Vorliegen vorrangiger Rechtsvorschriften.
Externe Dienstleister oder sonstige Auftragnehmer.
Weitere externe Stellen soweit der Betroffene seine Einwilligung erteilt hat oder eine Übermittlung aus überwiegendem Interesse zulässig ist.
Drittlandtransfers: Im Rahmen der Vertragsdurchführung können auch Auftragsverarbeiter außerhalb der Europäischen Union zum Einsatz kommen.
Dauer Datenspeicherung: Die Dauer der Datenspeicherung richtet sich nach den gesetzlichen Aufbewahrungspflichten und beträgt in der Regel 10 Jahre.

Spezifische Angaben zum Bewerbungsverfahren

Betroffene Daten: Bewerbungsangaben
Verarbeitungszweck: Durchführung Bewerbungsverfahren
Kategorien von Empfängern: Öffentliche Stellen bei Vorliegen vorrangiger Rechtsvorschriften.
Externe Dienstleister oder sonstige Auftragnehmer.
Weitere externe Stellen soweit der Betroffene seine Einwilligung erteilt hat oder eine Übermittlung aus überwiegendem Interesse zulässig ist.
Drittlandtransfers: Im Rahmen der Vertragsdurchführung können auch Auftragsverarbeiter außerhalb der Europäischen Union zum Einsatz kommen.
Dauer Datenspeicherung: Bewerbungsdaten werden nach Mitteilung der Entscheidung in der Regel binnen vier Monaten gelöscht, soweit nicht eine Einwilligung in eine längere Datenspeicherung vorliegt.

Weitere Informationen und Kontakte

Darüber hinaus können Sie jederzeit Ihre Ansprüche auf Berichtigung oder Löschung oder auf Einschränkung der Verarbeitung oder der Wahrnehmung Ihres Widerspruchsrechts gegen die Verarbeitung sowie das Recht auf Datenübertragbarkeit geltend machen. Hier finden Sie die Möglichkeit, uns per E-Mail oder Brief zu kontaktieren. Sie haben ferner das Recht, sich bei Beschwerden an die Datenschutz-Aufsichtsbehörde zu wenden.

Aktualisierung dieser Datenschutzerklärung

IBExpert Ltd behält sich vor, diese Datenschutzerklärung bei Bedarf zur Anpassung an technische Entwicklungen oder im Zusammenhang mit dem Angebot neuer Dienstleistungen oder Produkte zu aktualisieren. Die aktuelle Version können Sie stets auf der Internetseite https://ibexpert.net/cms/ über den Link Webseiten-Datenschutzerklärung einsehen. 




IBExpert und Firebird Power Workshop



(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.

Overview of topics

1. Basics

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.

2. Hardware

  • Using suitable tools, the Firebird performance with the hardware/software combination used is measured and compared with other systems
  • Effects of Firebird versions and configurations for processors, memory, I/O load, and process priority
  • Comparison of the different I/O subsystem techniques HDD, SSD, SATA, M.2, NVME, RAID, SAN, IOPS, Bandwidth, Reads, Writes, etc.
  • Comparison of different CPU types, clock cycle, L1/L2/L3 cache, cores, Xeon E3/E5/E7
  • Expedient use of memory, RAM disk, temporary memory, ECC, DDR, clock cycle
  • Locate the bottleneck in your own server
  • Supplementary hardware for performance optimization
  • Recommendations for optimal hardware

3. Operating system

  • What optimizations can I make in Windows and Linux operating systems?
  • Comparison of a Firebird server running on a virtual machine or without virtualization
  • Check relevant drivers and adjust configuration settings
  • DLL version check and effects
  • Effects and adjustments Antivirus, backup and image software
  • Trojan-safe configuration
  • Operating systems recommendations for Firebird and dependencies

4. Backup/Restore

  • Data backup with gbak and other solutions
  • The most important backup/restore parameters
  • Partial backup of the database
  • IBExpert tools for backup, restore, e-mail message in case of errors, database dump
  • IBExpert tools for automating database comparisons, data and metadata using scripts
  • Shadow copy as a turbo backup
  • Suitable measures to prevent errors from the outset
  • Concurrent incremental backup
  • Basic replication knowledge

5. Troubleshooting

  • Detect errors in the database
  • Troubleshooting strategies and tools
  • Correct errors using transaction counter limit
  • Detect and correct incorrect metadata
  • Recognize and correct faulty data
  • Combine databases from different scripts
  • Errors opening the database and gfix
  • Errors after opening the database when accessing certain table data
  • IBExpert repair tools, Database Inside, if nothing else helps
  • IBExpert services and Hotline support for repairs

6. Interfaces

  • Automatically generate reports with IBExpert Scripting and store them as PDF files or send them by e-mail
  • Set up data interfaces for ODBC
  • Data export to ODBC, CSV, Excel, HTML, etc. using IBExpert Scripting
  • Data import from ODBC, CSV, Excel, HTML, etc. using IBExpert Scripting
  • Read or write access to SMTP, POP3 and IMAP e-mail
  • Automate data synchronization with script directly to MSSQL, Oracle, MySQL, etc.
  • Convert data tables from or to other platforms
  • Direct connection using additional tools to PayPal, Sharepoint, SAP, Salesforce, Magento, Dropbox, Google Calendar, Google Contacts, JSON, REST, XML etc.

7. Users and groups

  • Create, change and delete users with password
  • Create, change and delete roles
  • Differences users, roles and permissions in Firebird 2.x and Firebird 3.x
  • Transfering the user database when updating Firebird

8. Database performance

  • System tables and tools to detect long-running SQL queries
  • Identify and eliminate the impact of long-running transactions
  • Trace API and MON$ tables
  • Detect and create missing indices
  • Comprehending and using Expression Indices
  • Understanding and updating index statistics
  • Optimize index structures and avoid duplicates

9. Monitoring and Audit

  • Log database changes with IBExpert log tools
  • Log slow SQLs around the clock
  • What's it doing now? External tools at operating system level for file system and process logging

10. Tips and tricks




IBExpert und Firebird Power Workshop

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.

Inhalt

1. Grundlagen

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.

2. Hardware

  • Durch geeignete Werkzeuge wird die Firebird Geschwindigkeit der eingesetzten Hardware/Software-Kombination gemessen und mit anderen Systemen verglichen
  • Auswirkungen der Firebird Versionen und Einstellungen für Prozessoren, Arbeitsspeicher, I/O-Last und Prozesspriorität
  • Vergleich der verschiedenen I/O-Subsystem-Techniken HDD, SSD, SATA, M.2, NVME, RAID, SAN, IOPS, Bandbreite, Reads, Writes, etc.
  • Vergleich der verschiedenen CPU-Typen, Takt, L1/L2/L3 Cache, Cores, Xeon E3/E5/E7
  • Sinnvoller Einsatz des Arbeitsspeichers, RAM Disk, Temporärspeicher, ECC, DDR, Takt
  • Den Flaschenhals im eigenen Server lokalisieren
  • Ergänzende Hardware für Performance-Optimierung
  • Empfehlungen optimaler Hardware

3. Betriebssystem

  • Welche Optimierungen kann ich im Betriebssystem Windows bzw. Linux vornehmen
  • Vergleich eines Firebird Servers beim Betrieb auf einer virtuellen Maschine oder ohne Virtualisierung
  • Relevante Treiber prüfen und Einstellungen anpassen
  • DLL Versionsprüfung und Auswirkungen
  • Auswirkungen und Anpassungen Antiviren-, Backup- und Image-Software
  • Trojaner-sichere Konfiguration
  • Empfehlungen Betriebssysteme für Firebird und Abhängigkeiten

4. Backup/Restore

  • Datensicherung mit gbak und anderen Lösungen
  • Die wichtigsten Backup/Restore Parameter
  • partielle Sicherung der Datenbank
  • IBExpert Werkzeuge für Backup, Restore, E-Mail Nachricht bei Fehlern, Datenbank Dump
  • IBExpert Werkzeuge für Datenbankvergleiche Daten und Metadaten über Scripte automatisieren
  • Shadowcopy als Turbobackup
  • Geeignete Maßnahmen, um Fehler von vornherein zu vermeiden
  • Mitlaufende inkrementelle Sicherung
  • Basiswissen Replikation

5. Fehler beheben

  • Fehler in der Datenbank erkennen
  • Strategien und Tools zur Fehlerbehebung
  • Fehler durch Transaktionszählergrenze beheben
  • Fehlerhafte Metadaten erkennen und beheben
  • Fehlerhafte Daten erkennen und beheben
  • Datenbanken aus verschiedenen Scripten zusammensetzen
  • Fehler beim Öffnen der Datenbank und gfix
  • Fehler nach dem Öffnen der Datenbank bei Zugriff auf bestimmte Tabellendaten
  • IBExpert Reparaturwerkzeuge, Database Inside, wenn nichts anderes hilft
  • IBExpert Dienstleistungen und Hotline Support für Reparaturen

6. Schnittstellen

  • Mit IBExpert Scripting automatisiert Berichte erzeugen und als PDF ablegen oder per E-Mail versenden
  • Datenschnittstellen für ODBC einrichten
  • Datenexport nach ODBC, CSV, Excel, HTML, etc. über IBExpert Scripting
  • Datenimport von ODBC, CSV, Excel, HTML, etc. über IBExpert Scripting
  • Lese- bzw. Schreibzugriff auf SMTP, POP3 und IMAP E-Mail
  • Datenabgleich mit Script direkt automatisieren an MSSQL, Oracle, MySQL, etc.
  • Datentabellen von oder in andere Plattformen konvertieren
  • Direkte Anbindung über Zusatztools auf PayPal, Sharepoint, SAP, Salesforce, Magento, Dropbox, Google Kalender, Google Kontakte, JSON, REST, XML etc.

7. Benutzer und Gruppen

  • Anlegen, ändern und löschen von Benutzern mit Kennwort
  • Anlegen, ändern und löschen von Roles
  • Unterschiede Benutzer, Roles und Rechte in Firebird 2.x und Firebird 3.x
  • Übernahme der Benutzerdatenbank beim Firebird Update

8. Datenbank Performance

  • Systemtabellen und Werkzeuge, um langlaufende SQL Abfragen zu erkennen
  • Auswirkungen langlaufender Transaktionen erkennen und beheben
  • Trace API und MON$ Tabellen
  • Fehlende Indizes erkennen und erstellen
  • Expression Indizes verstehen und benutzen
  • Indexstatistik verstehen und aktualisieren
  • Indexstrukturen optimieren und Dubletten vermeiden

9. Monitoring und Audit

  • Datenbankänderungen protokollieren mit IBExpert Log Werkzeugen
  • langsame SQLs rund um die Uhr protokollieren
  • Was macht er denn jetzt schon wieder? Externe Werkzeuge auf Betriebssystemebene für Filesystem und Prozessprotokollierung

10. Tipps und Tricks




IBEScript.exe

IBEScript.exe can be found in the IBExpert root directory, and needs to be started from DOS. (This feature is unfortunately not included in the free IBExpert Personal Edition.)

For regulations regarding distribution of any of the IBExpert Server Tools modules (hkSCC.exe, ibescript.exe, ibescript.dll and fbcrypt) together with your application, please refer to the IBExpert Server Tools documentation contents page.

Syntax

 IBEScript script_filename [options]

  • -S = silent mode
  • -V<Verbose_file> = verbose output file. If <Verbose_file> exists, IBEScript will overwrite it.
  • -v<verbose_file> = verbose output file. If <verbose_file> exists, IBEScript will append message to this file.
  • -E = display only error messages.
  • -N = continue after error.
  • -A<seconds> = advanced progress: <seconds> specifies the time interval in seconds to display progress messages. If <seconds> is not specified, advanced progress information will be displayed every second. The following information is available:
    • SC - statements count, number of executed statements;
    • POC - percentage of completion;
    • TS - time spent;
    • ETL - estimated time left.
For INPUT scripts the name of the input script file name will also be displayed. Advanced progress information is displayed even if the -S option (silent mode) is specified.
  • -T = write timestamp into log.
  • -D = connections string (use it if your script does not contain CONNECT or CREATE DATABASE statements).
  • -P = connection password (use only with -D option).
  • -R = connection role (use only with -D option).
  • -U = connection user name (use only with -D option).
  • -C = character set (use only with -D option).
  • -l = client library file (gds32.dll if not specified).
  • -L<1|2|3> = SQL dialect (use only with -D option; 1 if not specified).
  • -i = idle priority.
  • -G<variable_name>=<value> = specify global variable values.
  • -I<file_path_and_name> = By default (without the -I option specified). IBEScript.exe processes IBEScript.ini files immediately after starting in the following order:
1. IBEScript.ini in the IBEScript.exe directory, if it exists,
2. IBEScript.ini in the current directory, if it exists. If only -I is specified without a file name, any INI-file will be ignored. If a file name is specified after -I (e.g. -I"C:\my files\myibescript.ini") ONLY this file will be processed if it exists. Parameters specified in the command line will overwrite corresponding ones from an INI file.
  • -A<seconds> = display advanced progress information every <seconds> second(s) (default 1)
  • -e = encrypt a script file (no execution will be performed)
  • -d = decrypt an encrypted script file (no execution will be performed)
  • -p<password> = encrypt/decrypt password
  • -o<file_name> = output file for encrypted and decrypted scripts

WARNING! All options are case-sensitive!

Example 1: IBEScript C:\My Scripts\CreateDB.sql
Example 2: IBEScript C:\MyScripts\CreateDB.sql -S -VScriptLog.txt

The following features are also available: when no password and/or user name are specified in the CONNECT or CREATE DATABASE statements, a login dialog will appear. It is also possible to change the connection character set (SET NAMES) and garbage collection option (SET GARBAGE_COLLECT) before the RECONNECT statement. Any SET commands mentioned which are followed by a RECONNECT statement will affect the new connection.

It is also possible to use environment variables in INPUT, OUTPUT and SET BLOBFILE statements (see example below).

UTF8 BOM is skipped when executing a script from file.
The OUTPUT command also supports the OctetsAsHex option, which allows the extraction of CHAR(n) CHARACTER SET OCTETS values in hexadecimal format.


IBEScript examples

1. IBEBlock technology to create procedures with access to data in different Firebird/InterBase® databases

A simple script to copy data from one Firebird/InterBase® database to another:

 execute ibeblock
 as
 begin
   FBSrc  = ibec_CreateConnection(__ctFirebird,'DBName="localhost:C:\DB1.FDB";
   ClientLib=C:\Program Files\Firebird\Bin\fbclient.dll;
   user=SYSDBA; password=masterkey; names=WIN1252; sqldialect=3');
   FBDest = ibec_CreateConnection(__ctFirebird,'DBName="localhost:C:\DB2.FDB";
   ClientLib=C:\Program Files\Firebird\Bin\fbclient.dll;
   user=SYSDBA; password=masterkey; names=WIN1252; sqldialect=3');
   ibec_UseConnection(FbSrc);
   for select CustNo, Company, Addr1 from customer order by company into :CustNo, :Company,
     :Addr1
   do
   begin
      use FBDest;
      INSERT INTO CUSTOMER (CustNo, Company, Addr1) VALUES (:CustNo, :Company, :Addr1);
      use FBSrc;
   end
   use FBDest;
   COMMIT;
   ibec_CloseConnection(FBSrc);
   ibec_CloseConnection(FBDest);
 end

2. ODBC access to all ODBC data sources for importing or exporting data from a script

The same can also be done with any ODBC data source as the source and/or destination (this functionality has been tested with IBM DB2®, Oracle®, MS Access®, Sybase® etc.):

 execute ibeblock
 as
 begin
   OdbcCon = ibec_CreateConnection(__ctODBC, 'DBQ=C:\demo.mdb; DRIVER=Microsoft Access
   Driver (*.mdb)');
   FBCon = ibec_CreateConnection(__ctFirebird,'DBName="AVX-MAIN:D:\FB2_DATA\IBEHELP.FBA";
   ClientLib=C:\Program Files\Firebird\Bin\fbclient.dll;
   user=SYSDBA; password=masterkey; names=WIN1251; sqldialect=3');
   ibec_UseConnection(OdbcCon);
   for select CustNo, Company, Addr1 from customer order by company into :CustNo, :Company,
   :Addr1
   do
   begin
      use FBCon;
   INSERT INTO CUSTOMER (CustNo, Company, Addr1) VALUES (:CustNo, :Company, :Addr1);
      use OdbcCon;
   end
   use FBCon;
   COMMIT;
   ibec_CloseConnection(OdbcCon);
   ibec_CloseConnection(FBCon);
 end

3. Comparing databases from scripts

The following script compares the structure of two Firebird/InterBase® databases and stores a script that can be used to synchronize the database structure in the destination database: Save the following text as c:\comp.sql:

 execute ibeblock
 as
 begin
   create connection ReferenceDB dbname 'localhost:c:\RefDB.fdb'
   password 'masterkey' user 'SYSDBA'
   clientlib 'C:\Program Files\Firebird\bin\fbclient.dll'; 

   create connection CustomerDB dbname 'localhost:c:\customerDB.fdb'
   password 'masterkey' user 'SYSDBA'
   clientlib 'C:\Program Files\Firebird\bin\fbclient.dll';

   cbb = 'execute ibeblock (LogMessage variant)
          as
          begin
            ibec_progress(LogMessage);
          end';

   ibec_CompareMetadata(ReferenceDB, CustomerDB, 'C:\CompRes.sql', 'OmitDescriptions; OmitGrants', cbb);

   close connection ReferenceDB;
   close connection CustomerDB;
 end

Now run the following command line to create the script and synchronize the databases:

 ibescript.exe c:\comp.sql
 ibescript.exe c:\compres.sql

4. Create automatic reports

ibec_CreateReport prepares a report from a specified source and returns prepared report data. For preparing the initial report please refer to the IBExpert Report Manager.

This feature can be used for executing reports created with the IBExpert Report Manager in command-line mode, for example with batch files. The monthly sales report, invoices or other such reports can be designed in the Report Manager and executed with simple SQL statements. The result can then be saved in the database as a PDF file or other formats and sent by email or exported using ibec_ExportReport.

 execute ibeblock
  as
  begin
    Params['HeaderMemo'] = '';
    Params['MEMO2'] = 2;

    SELECT IBE$REPORT_SOURCE FROM ibe$reports
    where ibe$report_id = 4
    into :RepSrc;

    Report = ibec_CreateReport(RepSrc, Params, null);
    ibec_SaveToFile('D:\reptest.fp3', Report, 0);
            Res = ibec_ExportReport(Report, 'D:\reptest.pdf', __erPDF, 'EmbeddedFonts=TRUE');
    Res = ibec_ExportReport(Report, 'D:\reptest.jpg', __erJPEG, 'CropImages; Quality=90');
 end

5. File import into blob fields from SQL scripts

The following script imports the data from the files into the table TEST:

 SET BLOBFILE 'C:\f1.jpg';
 INSERT INTO TEST(ID,BLOBCOL) VALUES (1, :h00000000_7FFFFFFF);
 SET BLOBFILE 'C:\f2.jpg';
 INSERT INTO TEST(ID,BLOBCOL) VALUES (2, :h00000000_7FFFFFFF);
 SET BLOBFILE 'C:\f3.jpg';
 INSERT INTO TEST(ID,BLOBCOL) VALUES (3, :h00000000_7FFFFFFF);

The same syntax can be used for updating blob data.

6. Using environment variables in INPUT, OUTPUT and SET BLOBFILE statements

 execute ibeblock 
 as
 begin
 ibec_SetEnvironmentVariable('MyScriptDir', 'D:\Scripts\MyScripts');
 ibec_SetEnvironmentVariable('MyDataDir', 'D:\Data');
 ibec_SetEnvironmentVariable('MyBlobData', 'D:\Data\Blobs');
 end;

 SET BLOBFILE '\mytable.lob';

 OUTPUT '\mytable.sql';
 select * from mytable
 asinsert;
 COMMIT;

 INPUT '\ProcessData.sql';

These are just a few examples of the many tasks you can do with IBEScript. The full syntax and parameter list for ibec_CompareMetadata can be found in the online documentation, along with a full list of all current IBEBlock commands.


Encryption & decryption

There are two possible ways to encrypt/decrypt scripts and to execute encrypted scripts:

  1. Encrypting without the password. In this case there is no possibility to decrypt an encrypted script but it is possible to execute this script with IBEScript.
  2. Encrypting with the password. In this case it possible to decrypt the script and execute it with IBExpert if the correct password is specified.

The following options control the encrypting and decrypting:

  • -e = encrypts a script file and creates a file with the extension .esql if the output file is not specified (no execution will be performed).
  • -d = decrypts an encrypted script file if it was encrypted with password (no execution will be performed).
  • -p<password> = encrypt/decrypt password.
  • -o<file_name> = output file name for encrypted and decrypted scripts.

Again: all options are case-sensitive!

Example 1

 IBEScript "C:\MyScripts\CreateDB.sql"

Example 2

 IBEScript C:\MyScripts\CreateDB.sql -S -UScriptLog.txt

This product can be purchased as part of the distribution software listed above.

See also:
Firebird Interactive SQL Utility
IBEBlock
Script Executive


Bootcamp database web applications using Firebird



(German-language version below)

From the initial idea to deployment

The networked world today requires a powerful and flexible integration of mobile data acquisition devices in most commercial areas. While the apps in the Apple world hardly allow any really long-term application development without Xcode, in the Android world it is also difficult to be competitive without Android Studio. Alternative concepts such as the FMX implementation in more recent Delphi versions as well as Xamarin or similar frameworks promise multi-platform capability, the reality however is somewhat different. The first rollout of a native app requires a lot of know-how, and even seemingly trivial problems can cause long waiting times until the full version can be used by the customer.

If you are a software manufacturer and want to expand your ERP or business software by offering a flexible module for mobile devices, you will find several man-months or even man-years of development work, which can hardly be refinanced. Your customers expect such a feature on their own smartphones; however they are not willing to pay additional costs.

A decision to use only Android as a platform will not be acceptable for customers with Apple devices, so that the iOS platform for Apple also needs to be implemented. The development costs thus double and even a mundane task, such as mobile time tracking for field service technicians must also be implemented on these two platforms, in addition to the back-office solution for the office employees or on laptops, for which the source code cannot be used across multiple platforms.

Let’s stay with the example of mobile time tracking and consider alternative methods. Certainly, there are places where mobile phone reception is not always available or poor, but generally it can be assumes in most areas of Western Europe that a sufficiently good connection can be ensured. This is certainly a different matter in the Australian outback, but in such a case we would use a fully-fledged replicated database on a laptop, to enable access to even large amounts of data at any time.

In our 2-day training course Bootcamp database web applications using Firebird, you will learn all knowledge necessary to visualize data from a Firebird database via an Apache web server on Windows or Linux with minimal PHP knowledge.

A registration of the mobile device can be permanently assigned by URL or an individual view of the assigned data is displayed interactively using the Username and Password. In this way the sample application "Mobile Time Tracking" can display instructions for selection directly assigned to the user of the mobile device, minimizing errors such as booking time to the wrong jobs.

Simple control elements, known in the Delphi world as TLabel, TEdit, TMemo, TCombobox, TButton, TListbox, etc., are recorded on the website by the logic instructions, which are implemented in Firebird stored procedures, and filled with data from the database. The user can now enter numbers or strings depending upon the task, or simply trigger a Start- or Stop-booking with a simple click.

The resulting data is written back into the Firebird database by the Apache/PHP script. These can create messages at any time via triggers and events in the back office, and can alert the person responsible to new mobile data, or can be fully automated in collective bills.

You have no PHP experience? No problem, the PHP script used contains only around 30 lines and these will only altered in very few places during the whole training.

Do you lack basic knowledge of HTML controls? During the course, we will provide you with all the necessary basic knowledge, enabling you to extend this knowledge yourself at any time in the future.

You have never set up an Apache web server on Windows or Linux with PHP, or set up PHP access to Firebird? This is also part of our training. We’ll set up a virtual Windows server together. This server with the exact same configuration is offered by Hosteurope for EUR 9.90 a month.

How do you get the data rapidly from the local database to the Firebird database on the virtual server, without having to store all data there, and to make it publicly available in case of a faulty configuration? We explain the most important security aspects of such a Firebird configuration and show how to exchange data between the customer server and the server on the VM in near real-time using the push-pull principle.

Does this work even if the data is not stored locally in Firebird databases? Yes, we use IBEScript to show you basic IBEBlock scripts, which allow you to connect to any ODBC-compliant database to write the local data into your Firebird database vice versa.

How can the server-side application be used to send e-mails and generate PDFs, for example, to automatically generate order confirmations around the clock? We will show you how it is possible to use the IBEBlock Script on the server side. In addition to Windows for IBEscript.exe, we can also use Linux with Wine. 




Bootcamp Datenbankwebapplikationen mit Firebird

Von der Idee zur Umsetzung 

Die vernetzte Welt erfordert mittlerweile für nahezu sämtliche Geschäftsbereiche eine leistungsfähige und flexible Integration von mobilen Datenerfassungsgeräten. Während jedoch die Apps in der Applewelt kaum ohne Xcode wirklich langfristige Applikationsentwicklungen ermöglichen, ist man in der Android Welt ohne Android Studio ebenfalls kaum wettbewerbsfähig. Alternative Konzepte, wie die FMX Implementation in neueren Delphi Version ebenso wie Xamarin oder ähnliche Frameworks versprechen Multiplattformfähigkeit, aber die Realität sieht anders aus. Das erste Rollout einer nativen App bedarf einer Unmenge an Know-how und selbst scheinbar banale Probleme sorgen für lange Wartezeiten bis zur Nutzung der vollständigen Version durch den Kunden.

Wenn Sie als Softwarehersteller nun Ihre ERP- oder Branchensoftware um ein flexibles Modul für Mobilegeräte erweitern möchten, kommen auch bei einfachen Anwendungen mehrere Mannmonate oder sogar Mannjahre Entwicklungsarbeit zusammen, die sich kaum refinanzieren lassen. Ihre Kunden erwarten zwar eine derartige Funktion auf dem eigenen Smartphone, sind aber nicht bereit, dafür zusätzliche Kosten zu tragen. Eine Entscheidung für Android als Plattform wird von den Kunden mit Apple Geräten nicht akzeptiert und die iOS Plattform für Apple muss zusätzlich umgesetzt werden. Der Entwicklungsaufwand verdoppelt sich und selbst eine banale Aufgabe, wie zum Beispiel eine mobile Arbeitszeiterfassung für den Außendiensttechniker muss neben der Back Office Lösung für Mitarbeiter im Büro oder auf Laptops zusätzlich noch in 2 anderen Plattformen implementiert werden, bei denen der Quellcode auch nicht plattformübergreifend eingesetzt werden kann.

Bleiben wir beim Beispiel einer mobilen Arbeitszeiterfassung und denken wir über alternative Verfahren nach. Sicherlich gibt es Orte, an denen eine mobile Funkverbindung per Handy nicht immer gewährleistet ist, aber generell kann man in den meisten relevanten Gebieten Westeuropas davon ausgehen, dass eine ausreichend gute Verbindung gewährleistet ist. Im australischen Outback ist das sicherlich anders, aber hier würden wir eine vollwertige replizierte Datenbank auf einem Laptop einsetzen, um auch sehr große Datenmengen jederzeit vor Ort im Zugriff zu haben.

Im Rahmen unseres Bootcamps "Datenbankwebapplikationen mit Firebird" zeigen wir Ihnen innerhalb von 2 Tagen das gesamte Know-how, um Daten aus einer Firebird Datenbank über einen Apache Webserver auf Windows- oder Linux Basis mit minimalen PHP Kenntnissen zu visualisieren.

Eine Anmeldung des Mobilgeräts kann per URL fest vergeben werden oder die individuelle Sicht auf die zugeordneten Daten erfolgt interaktiv per Username und Password. So kann die Beispielanwendung "Mobile Zeiterfassung" direkt dem Benutzer des Mobilgeräts zugeordnete Aufträge zur Auswahl anzeigen und Fehleingaben wie Buchungen auf falsche Aufträge minimieren.

Einfache Kontrollelemente, in der Delphi Welt als TLabel, TEdit, TMemo, TCombobox, TButton, TListbox, etc. bekannt, werden durch die in Firebird Stored Procedures implementierten Logikanweisungen entsprechend der Anforderungen in der Webseite aufgenommen und durch Daten aus der Datenbank gefüllt. Der Anwender kann entsprechend der Aufgabe nun Zahlen oder Zeichenfolgen erfassen oder einfach eine Start oder Stop Buchung durch einen einfachen Klick auslösen.

Die Daten, die sich daraus ergeben, werden vom Apache/PHP Script wieder zurück in die Firebird Datenbank geschrieben. Diese können jederzeit via Trigger und Events im Backoffice Nachrichten erstellen und den Sachbearbeiter auf neue, mobil erfasste Daten hinweisen oder vollautomatisiert in Sammelrechnungen übernommen werden.

Sie haben keine PHP Erfahrung? Kein Problem, das benutzte PHP Script hat nur ca. 30 Zeilen und wird während der gesamten Schulung nur an ganz wenigen Stellen geändert.

Ihnen fehlen die Basiskenntnisse für die HTML Kontrollelemente? Wir vermitteln Ihnen im Rahmen des Bootcamps alle erforderlichen Basiskenntnisse, so dass Sie, sofern erforderlich, jederzeit durch eine spätere Recherche im Internet diese Kenntnisse erweitern können.

Sie haben noch nie einen Apache Webserver auf Windows oder Linux mit PHP oder den Zugriff von PHP auf Firebird eingerichtet? Auch dieser Punkt ist ein Bestandteil unseres Bootcamps. Wir richten gemeinsam einen virtuellen Windows Server ein. Dieser Server kann bei Hosteurope in genau dieser Konfiguration für 9,90 im Monat gemietet werden.

Wie bekommt man zeitnah die Daten von der lokalen Datenbank auf die Firebird Datenbank auf dem virtuellen Server, ohne sämtliche Daten dort zu lagern und im Fall einer fehlerhaften Konfiguration öffentlich verfügbar zu haben? Wir erklären die wichtigsten Sicherheitsaspekte einer solchen Firebird Konfiguration und zeigen, wie man im Push/Pull Prinzip Daten in nahezu Echtzeit zwischen einem Kundenserver und dem Server auf der VM austauscht.

Funktioniert das auch, wenn meine Daten lokal gar nicht in Firebird Datenbanken gespeichert werden? Ja, wir zeigen mit IBEScript grundlegende IBEBlock Scripte, mit denen Sie sich mit jeder ODBC-fähigen Datenbank verbinden können um die Daten von dort in die Firebird Datenbank oder aus der Firebird Datenbank zurück in Ihre Plattform zu schreiben.

Wie kann ich mit der Anwendung serverseitig E-Mails versenden und PDFs erzeugen, um zum Beispiel Auftragsbestätigungen automatisch rund um die Uhr zu erzeugen? Wir zeigen wir Ihnen, wie es mit Hilfe der IBEBlock Script serverseitig machbar ist. Wir setzen für IBEscript.exe neben Windows auch Linux mit Wine ein.