Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Connessione di Delphi su Linux a SQL Server

RAD Studio ti consente di creare un'applicazione Delphi per piattaforme Windows e Linux. È possibile, ad esempio, creare un'applicazione ODBC che utilizzi un driver ODBC Microsoft su Windows e un driver ODBC Easysoft su Linux. Nel seguente tutorial, che descrive come creare un'applicazione console per Linux che recupera i dati di SQL Server, i componenti sono:

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. Scarica il driver ODBC di SQL Server per piattaforme Linux a 64 bit. (Registrazione richiesta.)
  2. Installare e concedere in licenza il driver ODBC di SQL Server sulla macchina in cui è o sarà installato Platform Assistant (PA Server).

    Per le istruzioni di installazione, vedere la documentazione del driver ODBC.

    Nota Hai bisogno di unixODBC Driver Manager installato sul tuo computer. La distribuzione Easysoft include una versione di unixODBC Driver Manager con cui è stato testato il driver ODBC di Easysoft SQL Server. Il programma di installazione del driver Easysoft ti dà la possibilità di installare unixODBC.

  3. Crea un'origine dati ODBC in /etc/odbc.ini che si connetta al database di SQL Server a cui desideri accedere da Delphi. Ad esempio:
    [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. Usa isql per testare la nuova origine dati. Ad esempio:
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v SQLSERVER_SAMPLE
    

    Al prompt, digita "help" per visualizzare un elenco di tabelle. Per uscire, premi Invio in una riga di prompt vuota.

    Se non riesci a connetterti, fai riferimento a questo articolo e alla Knowledge Base del driver ODBC di SQL Server per assistenza.

  1. Se non l'hai già fatto, installa PA Server sulla macchina dove hai installato il driver ODBC di SQL Server.
  2. Imposta l'ambiente su questa macchina in modo che il programma Delphi possa caricare il driver ODBC di SQL Server. Ad esempio:
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/easysoft/sqlserver:/usr/local/easysoft/lib:
    /usr/local/easysoft/unixODBC/lib
    export $LD_LIBRARY_PATH
    

    Avviare il server PA. Ad esempio:

    cd ~/PAServer-19.0
    ./paserver
    

    Se non hai installato unixODBC Driver Manager incluso nella distribuzione del driver ODBC di SQL Server, ometti /usr/local/easysoft/unixODBC/lib dal valore della variabile di ambiente.

  3. In RAD Studio, crea una nuova applicazione console Delphi.
  4. Imposta la piattaforma di destinazione per l'applicazione su Linux a 64 bit.
  5. Modifica le proprietà del profilo per la tua piattaforma di destinazione per specificare i dettagli per il tuo PA Server.
  6. Inserisci il codice mostrato all'inizio di questo tutorial nell'applicazione.
  7. Esegui l'applicazione.