Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Verbinden von Delphi unter Linux mit SQL Server

Mit RAD Studio können Sie eine Delphi-Anwendung für Windows- und Linux-Plattformen erstellen. Sie können beispielsweise eine ODBC-Anwendung erstellen, die einen Microsoft ODBC-Treiber unter Windows und einen Easysoft ODBC-Treiber unter Linux verwendet. Im folgenden Lernprogramm, das beschreibt, wie Sie eine Konsolenanwendung für Linux erstellen, die SQL Server-Daten abruft, sind die Komponenten:

Windows Machine
---------------
RAD Studio

Linux Machine
-------------
Platform Assistant Server
Delphi Application
unixODBC Driver Manager
SQL Server ODBC Driver

Windows Machine
---------------
SQL Server
program SQLServer;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils, FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Error,
  FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Stan.Def, FireDAC.Stan.Pool,
  FireDAC.Stan.Async, FireDAC.Phys, FireDAC.Phys.ODBC, FireDAC.Phys.ODBCDef,
  FireDAC.DApt, Data.DB, FireDAC.Comp.Client, FireDAC.ConsoleUI.Wait;

var
    RHConnection: TFDConnection;
    RHQuery: TFDQuery;
    sValue: String;

begin
  try
    RHConnection:=TFDConnection.Create(nil);
    RHConnection.Params.Add('DriverID=ODBC');
    RHConnection.Params.Add('DataSource=SQLSERVER_SAMPLE');
    RHConnection.Connected:=true;

    sValue := RHConnection.ExecSQLScalar('select ''SQL Server from Linux'' as test_col');
    Writeln(sValue);

    ReadLn;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
  1. Laden Sie den SQL Server ODBC-Treiber für 64-Bit-Linux-Plattformen herunter. (Anmeldung erforderlich.)
  2. Installieren und lizenzieren Sie den SQL Server ODBC-Treiber auf dem Rechner, auf dem der Platform Assistant (PA Server) installiert ist oder installiert wird.

    Installationsanweisungen finden Sie in der ODBC-Treiberdokumentation.

    Hinweis Sie müssen den unixODBC-Treibermanager auf Ihrem Computer installieren. Die Easysoft-Distribution enthält eine Version des unixODBC-Treibermanagers, mit dem der Easysoft SQL Server-ODBC-Treiber getestet wurde. Das Setup-Programm des Easysoft-Treibers bietet Ihnen die Möglichkeit, unixODBC zu installieren.

  3. Erstellen Sie eine ODBC-Datenquelle in /etc/odbc.ini, die eine Verbindung zu der SQL Server-Datenbank herstellt, auf die Sie von Delphi aus zugreifen möchten. Beispiel:
    [SQLSERVER_SAMPLE]
    Driver          = Easysoft ODBC-SQL Server
    Server          = my_machine\SQLEXPRESS
    User            = my_domain\my_user
    Password        = my_password
    # If the database you want to connect to is the default
    # for the SQL Server login, omit this attribute
    Database        = Northwind
    
  4. Verwenden Sie isql, um die neue Datenquelle zu testen. Beispiel:
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v SQLSERVER_SAMPLE
    

    Geben Sie an der Eingabeaufforderung „help“ ein, um eine Liste mit Tabellen anzuzeigen. Drücken Sie zum Beenden die Eingabetaste in einer leeren Eingabeaufforderungszeile.

    Wenn Sie keine Verbindung herstellen können, lesen Sie diesen Artikel und die Knowledge Base für SQL Server-ODBC-Treiber, um Unterstützung zu erhalten.

  1. Wenn Sie dies noch nicht getan haben, installieren Sie den PA-Server auf dem Computer, auf dem Sie den SQL Server-ODBC-Treiber installiert haben.
  2. Stellen Sie die Umgebung auf diesem Rechner so ein, dass Ihr Delphi-Programm den SQL Server ODBC-Treiber laden kann. Zum Beispiel:
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/easysoft/sqlserver:/usr/local/easysoft/lib:
    /usr/local/easysoft/unixODBC/lib
    export $LD_LIBRARY_PATH
    

    Starten Sie den PA-Server. Zum Beispiel:

    cd ~/PAServer-19.0
    ./paserver
    

    Wenn Sie den unixODBC-Treibermanager, der in der SQL Server-ODBC-Treiberverteilung enthalten ist, nicht installiert haben, lassen Sie /usr/local/easysoft/unixODBC/lib weg aus dem Umgebungsvariablenwert.

  3. Erstellen Sie in RAD Studio eine neue Delphi-Konsolenanwendung.
  4. Legen Sie die Zielplattform für die Anwendung auf 64-Bit-Linux fest.
  5. Bearbeiten Sie die Profileigenschaften für Ihre Zielplattform, um die Details für Ihren PA-Server anzugeben.
  6. Fügen Sie den zu Beginn dieses Tutorials gezeigten Code in die Anwendung ein.
  7. Führen Sie die Anwendung aus.