Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Connexion de Delphi sous Linux à SQL Server

RAD Studio vous permet de construire une application Delphi pour les plates-formes Windows et Linux. Vous pouvez, par exemple, créer une application ODBC qui utilise un pilote Microsoft ODBC sous Windows et un pilote Easysoft ODBC sous Linux. Dans le tutoriel suivant, qui décrit comment créer une application console pour Linux qui récupère les données SQL Server, les composants sont :

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. Téléchargez le pilote ODBC SQL Server pour les plates-formes Linux 64 bits. (Inscription requise.)
  2. Installez et autorisez le pilote ODBC SQL Server sur la machine sur laquelle Platform Assistant (PA Server) est ou sera installé.

    Pour obtenir des instructions d'installation, consultez la documentation du pilote ODBC.

    Remarque Le gestionnaire de pilotes unixODBC doit être installé sur votre machine. La distribution Easysoft inclut une version du gestionnaire de pilotes unixODBC avec lequel le pilote ODBC Easysoft SQL Server a été testé. Le programme d'installation du pilote Easysoft vous offre la possibilité d'installer unixODBC.

  3. Créez une source de données ODBC dans /etc/odbc.ini qui se connecte à la base de données SQL Server à laquelle vous souhaitez accéder depuis Delphi. Par exemple :
    [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. Utilisez isql pour tester la nouvelle source de données. Par exemple :
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v SQLSERVER_SAMPLE
    

    À l'invite, tapez "help" pour afficher une liste de tables. Pour quitter, appuyez sur retour dans une ligne d'invite vide.

    Si vous ne parvenez pas à vous connecter, reportez-vous à cet article et à la base de connaissances du pilote ODBC SQL Server pour obtenir de l'aide.

  1. Si vous ne l'avez pas déjà fait, installez le serveur PA sur la machine sur laquelle vous avez installé le pilote ODBC SQL Server.
  2. Définissez l'environnement sur cette machine afin que votre programme Delphi puisse charger le pilote ODBC SQL Server. Par exemple :
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/easysoft/sqlserver:/usr/local/easysoft/lib:
    /usr/local/easysoft/unixODBC/lib
    export $LD_LIBRARY_PATH
    

    Démarrez le serveur PA. Par exemple :

    cd ~/PAServer-19.0
    ./paserver
    

    Si vous n'avez pas installé le gestionnaire de pilotes unixODBC qui est inclus dans la distribution du pilote ODBC SQL Server, omettez /usr/local/easysoft/unixODBC/lib à partir de la valeur de la variable d'environnement.

  3. Dans RAD Studio, créez une nouvelle application console Delphi.
  4. Définissez la plate-forme cible de l'application sur Linux 64 bits.
  5. Modifiez les propriétés du profil de votre plate-forme cible pour spécifier les détails de votre serveur PA.
  6. Insérez le code affiché au début de ce didacticiel dans l'application.
  7. Exécutez l'application.