
Da seit heute InterBase 2017 verfügbar ist, und Delphi für Linux ja demnächst verfügbar sein wird, habe ich diese Kombination mal installiert.
Genutzt habe ich dafür ein Ubuntu 16.04.2
Zuerst die Installationsdatei nach Linux kopiert und entpackt:
Dann die Installation durchgeführt:
chmod +x install_linux_x86_64.sh
nicht vergessen. Da es sich um eine GUI/XServer-lose Installation handelt, geht das Ganze über die Kommandozeile:
./install_linux_x86_64.sh
Auswahl von 64 Bit / Server und Client sollen installiert werden:
Hier ohne Multi-Instance Möglichkeiten und Abschluss der Installation:
Fertig installiert. Jetzt noch lizenzieren:
Aus /opt/interbase/bin:
./LicenseManagerLauncher -i console
[2] "Direct register" mit Seriennummer
Abschliessend wird der Dienst gestartet mit
./ibmgr -start
InterBase 2017 ist jetzt installiert..... jetzt zum Delphi/Linux Teil:
Hier soll es nur um eine kleine Konsolenanwendung gehen. Praktischerweise kann man ja auch in Konsolenanwendungen Datenmodule verwenden. Das ist schnell zusammengebaut.
- Neue Delphi, Konsolenanwendung
- Ein Datenmodul hinzugefügt
- Eine FDConnection (Name: IBUbuntuConnection) und eine FDTable (Name: FDTableCustomer)
- Die Connection konfiguriert mit:
Database: /opt/interbase/examples/employee.gdb
Username: sysdba / password: masterkey
Protocol: TCP/IP
Server: <IP-Adresse des Ubuntu/InterBase Servers> - Die FDTable mit Link auf die "CUSTOMER" Tabelle
- Das Konsolenprogramm:
program IBOnUbuntu;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils,
DMFireDACInterBase in 'DMFireDACInterBase.pas' {DataModule2: TDataModule};
var
i: Integer;
dm: TDataModule2;
begin
try
dm := TDataModule2.Create(nil);
dm.IbUbuntuConnection.Connected := true;
dm.FDTblCustomer.Active := true;
for i := 0 to 10 do
begin
Write(dm.FDTblCustomer.Fields[0].AsString + #9);
Write(dm.FDTblCustomer.Fields[1].AsString + #9);
Writeln(dm.FDTblCustomer.Fields[2].AsString);
dm.FDTblCustomer.Next;
end;
{ TODO -oUser -cConsole Main : Code hier einfügen }
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
readln;
end.
Das Programm lässt sich sofort (keine weitere "Client-Installation von Datenbanktreibereien" auf der Linux-Server-Seite) starten :-)