Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Conectando o Delphi no Linux ao SQL Server


O RAD Studio permite que você crie um aplicativo Delphi para plataformas Windows e Linux. Você pode, por exemplo, construir um aplicativo ODBC que use um driver ODBC da Microsoft no Windows e um driver ODBC da Easysoft no Linux. No tutorial a seguir, que descreve como criar um aplicativo de console para Linux que recupera dados do SQL Server, os componentes são:
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. Baixe o driver ODBC do SQL Server para plataformas Linux de 64 bits. (Registro obrigatório.)
  2. Instale e licencie o driver ODBC do SQL Server na máquina onde o Platform Assistant (PA Server) está ou será instalado.
    Para obter instruções de instalação, consulte a documentação do driver ODBC.

    Observação Você precisa do gerenciador de driver unixODBC instalado em sua máquina. A distribuição Easysoft inclui uma versão do unixODBC Driver Manager com a qual o driver ODBC do Easysoft SQL Server foi testado. O programa de instalação do driver Easysoft oferece a opção de instalar o unixODBC.
  3. Crie uma fonte de dados ODBC em /etc/odbc.ini que se conecte ao banco de dados SQL Server que você deseja acessar do Delphi. Por exemplo:
    [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. Use o isql para testar a nova fonte de dados. Por exemplo:
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v SQLSERVER_SAMPLE
    

    No prompt, digite "help" para exibir uma lista de tabelas. Para sair, pressione return em uma linha de prompt vazia.

    Se você não conseguir se conectar, consulte este artigo e a Base de Conhecimento do Driver ODBC do SQL Server para obter assistência.
  1. Se ainda não o fez, instale o PA Server na máquina em que instalou o driver ODBC do SQL Server.
  2. Defina o ambiente nesta máquina para que seu programa Delphi possa carregar o driver ODBC do SQL Server. Por exemplo:
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/easysoft/sqlserver:/usr/local/easysoft/lib:
    /usr/local/easysoft/unixODBC/lib
    export $LD_LIBRARY_PATH
    

    Inicie o servidor PA. Por exemplo:
    cd ~/PAServer-19.0
    ./paserver
    

    Se você não instalou o gerenciador de driver unixODBC incluído na distribuição do driver ODBC do SQL Server, omita /usr/local/easysoft/unixODBC/lib do valor da variável de ambiente.
  3. No RAD Studio, crie um novo aplicativo de console Delphi.
  4. Defina a plataforma de destino do aplicativo como Linux de 64 bits.
  5. Edite as propriedades do perfil para sua plataforma de destino para especificar os detalhes do seu servidor PA.
  6. Insira o código mostrado no início deste tutorial no aplicativo.
  7. Execute o aplicativo.