Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Zugriff auf MSSQL via FIREDAC unter LINUX (https://www.delphipraxis.net/204821-zugriff-auf-mssql-via-firedac-unter-linux.html)

bernhard_LA 2. Jul 2020 14:14

Datenbank: MSSQL • Version: 12 • Zugriff über: FIREDAC

Zugriff auf MSSQL via FIREDAC unter LINUX
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich habe eine kleine FMX-Testanwendung um auf eine Datenbank auf einem MSSQL Server unter Windows zu zugreifen.

Funktioniert alles wie geplant .

Die Anwendung habe ich dann für LINUX compiliert und gestartet. Auf der LINUX Seite bekomme ich jetzt folgende Fehlermeldung

Libodbc.so nicht gefunden

a) was ist der offizielle Weg dieses Shared Object zu bekommen, ist dies nicht Bestandteil von FD / Delphi ?

b) wo kopiere ich dieses SO am besten hin damit meine Anwendung funktioniert ?

Steku 2. Jul 2020 14:21

AW: Zugriff auf MSSQL via FIREDAC unter LINUX
 
Hallo,

vielleicht bringt dich das weiter?
https://ultimatedelphi.wordpress.com...ver-in-ubuntu/

VG
Steku

bernhard_LA 2. Jul 2020 22:35

AW: Zugriff auf MSSQL via FIREDAC unter LINUX
 
Liste der Anhänge anzeigen (Anzahl: 1)
der link war sehr hilfreich, gleich sqlserverdriver.tar nach Anleitung installiert
jetzt bekomme ich diesen Fehler :-( was muss ich noch installieren ?

hoika 3. Jul 2020 05:40

AW: Zugriff auf MSSQL via FIREDAC unter LINUX
 
Hallo,
schon mal Gegoogelt nach
Microsoft mssql odbc Linux?

Ergebnis
https://docs.microsoft.com/de-de/sql...l-server-ver15

bernhard_LA 3. Jul 2020 07:47

AW: Zugriff auf MSSQL via FIREDAC unter LINUX
 
nach der Installation ist die gesuchte Datei zwar auf meinem System, leider bekomme immer noch die Fehlermeldung "..... file not found"
kann ich prüfen ob die Installation erfolgreich war ?
stimmt was an den Zugriffsrechten nicht ?

hoika 3. Jul 2020 09:19

AW: Zugriff auf MSSQL via FIREDAC unter LINUX
 
Hallo,
Zitat:

zwar auf meinem System
steht die Datei genau in diesem Verzeichnis (aus deinem Screenshot weiter oben)
und heißt auch genauso?

Die Prüfung, ob das Setup erfolgreich war, machst du ja gerade, geht aber schief ...

bernhard_LA 3. Jul 2020 17:05

AW: Zugriff auf MSSQL via FIREDAC unter LINUX
 
Liste der Anhänge anzeigen (Anzahl: 1)
hier der Beleg, Datei wäre da im screen dump,
wie weiter .....

hoika 3. Jul 2020 18:16

AW: Zugriff auf MSSQL via FIREDAC unter LINUX
 
Hallo,
*Hände heb*

Vielleicht sind es ja fehlende Rechte, aber bei Linux habe ich gar keine Ahnung.

Oder das hier:
https://docs.microsoft.com/en-us/sql...erver-ver15#11

Must dich wohl durchwursteln über Google
"delphi linux libmsodbcsql-11.0.so.2270.0 not found"

jobo 4. Jul 2020 09:28

AW: Zugriff auf MSSQL via FIREDAC unter LINUX
 
Die bloße Existenz der Datei hilft nicht viel, wenn die User spezfifischen Suchpfade nicht stimmen.
Dann kommen die Zugriffsrechte für Nutzer, Gruppe, Alle (Ich weiß nichts über die Treiberarchitektur, wenn es irgendwie Richtung COM Server geht, ist es ggF. sogar ein eigener User)

Anhand des Links von hoika und Deiner Versionsangaben:
Warum soll es ODBC 11 sein? (alt)
Wieso nicht 13 oder 13.1? (neu und hoffentlich bessere Installer Routinen)
Annahme: Auch ein neuer 13 Treiber kann einen 12er Server ansprechen.

Wenn schon Linux, warum MS SQL "hinten dran"?
Apropos Version, welches Linux ist es und welche Version?

Die "Bitness"-Frage thematisiert ja schon die Fehlermeldung, aber:
32/64 Bit "EXE" => entsprechend 32/64bit ODBC Treiber installiert?

Was sagt bspw. die Groups und Shadow Datei nach der Installation? Ist etwas MS mäßiges hinzugekommen?

Als welcher User hast Du installiert?
Welches Verfahren, Schritte, Repository hast Du verwendet?

"Bestandteil von Delphi"
ist es sicher nicht, ein ODBC Treiber gehört auch in der Windows Welt nicht zu Delphi. Was nicht bedeutet, dass Delphi je nach Edition nicht native Zugriffsmöglichkeiten (ohne ODBC) bietet. Wie weit das für Linux gilt, weiß ich allerdings nicht.

bernhard_LA 5. Jul 2020 23:31

AW: Zugriff auf MSSQL via FIREDAC unter LINUX
 
Anmerkungen

Warum MSSQL : die App kann auch unter Windows verwendet werden (und dort funktioniert auch alles) und dort haben wir einen MSSQL Server
die Basis-Idee : Delphi Cross compiling und Null weiterer Aufwand :-( .......

LINUX : UBUNTU 18.04

bernhard_LA 23. Jul 2020 11:14

AW: Zugriff auf MSSQL via FIREDAC unter LINUX
 
wie lautet der Korrekte Verbindungsstring um auf MSSQL via Firdac und unter Linux zugreifen zu können ?


Delphi-Quellcode:
  with aConnection do
  begin

    Close;

    {$IFDEF MSWINDOWS}
    // create temporary connection definition
    with Params do
    begin
      Clear;
      Add('DriverID=MSSQL');
      Add('Server=' + servername);
      Add('OSAuthent=Yes');
    end;
    {$ENDIF}

        {$IFDEF LINUX}
    //  create temporary connection definition
    //  DriverID=ODBC Driver 17 for SQL
    with Params do
    begin
      Clear;
      Add('DriverID=ODBC');
      Add('Server=' + servername);
      Add('OSAuthent=Yes');
    end;
    {$ENDIF}

    Open;
  end;

meine Lösung funktioniert nicht (bzw. halt nur für Windows :-( .....

( http://docs.embarcadero.com/products...ta_source.html )

TigerLilly 23. Jul 2020 12:13

AW: Zugriff auf MSSQL via FIREDAC unter LINUX
 
Das da kennst du?
https://github.com/mkleehammer/pyodb...ver-from-Linux
https://docs.microsoft.com/en-us/sql...l-server-ver15

bernhard_LA 24. Jul 2020 15:49

AW: Zugriff auf MSSQL via FIREDAC unter LINUX
 
Liste der Anhänge anzeigen (Anzahl: 1)
eine komplett Lauffähige DEMO app gibt es hier :

https://github.com/ImageProcessingFM...leDatabaseDemo

wer kann diese App unter Linux kompilieren und eine Verbindung zu einem MSSQL Server Aufbauen ?
(dann kann ich schon mal zwischen OBDC Setup Problemen auf der LINUX Seite und Code Problemen auf der Delphi Seite unterscheiden )

(wer Fehler im Delphi code posted -> mache dann einen Update auf github , vielleicht haben ja auch andere Programmierer dieses Problem )

Bbommel 28. Jul 2020 13:34

AW: Zugriff auf MSSQL via FIREDAC unter LINUX
 
Da ich gestern auch mit einem Zugriff von Linux auf einem unter Windows laufenden MS SQL Server zu tun hatte, ein Hinweis von mir dazu - leider beantwortet er nicht ganz deine Frage, da du ja explizit nach FireDAC gefragt hast, aber vielleicht hilft es ja sonst jemandem: Ich nutze seit einiger Zeit UniDAC und damit geht es völlig problemlos und ohne, dass man unter Linux noch irgendwelche anderen Bibliotheken installieren muss. Die Hürden waren bei mir dann nur, dass von Linux aus über TCP/IP auf den Server zugegriffen wird und ich den falschen Port angegeben hatte (war nicht der Standard-Port 1433, sondern aus irgendeinem Grund steht der auf 1434).

Also, falls UniDAC oder SDAC von Devart trotz der Kosten eine Alternative ist, bekäme man damit die Verbindung jedenfalls problemlos ans Laufen. Getestet hatte ich unter Ubuntu 18.10 (ja, ich weiß, ist End-of-Life, hat es mir gestern auch gesagt ;-) ).


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz