InterBase 2017/Linux und Delphi/Linux (Vorschau)

Posted by on in Programming

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 :-)

 



Comments

  • wilkin R38767
    wilkin R38767 Tuesday, 23 May 2017

    Saludo.
    trabajando con linux delphi me encontre con un problema , cuando conecto el cliente del server datasnap se conecta bien pero no obtengo la lista de cliente providername el cliente, alguien me puede ayudar

  • Please login first in order for you to submit comments
  • Page :
  • 1

Check out more tips and tricks in this development video: