Quantcast
Channel: Programming - Embarcadero Community
Viewing all articles
Browse latest Browse all 167

InterBase 2017/Linux und Delphi/Linux (Vorschau)

$
0
0

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

 


Viewing all articles
Browse latest Browse all 167

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>