sql >> Databasteknik >  >> RDS >> Sqlserver

Ansluta Delphi på Linux till SQL Server

RAD Studio låter dig bygga en Delphi-applikation för både Windows- och Linux-plattformar. Du kan till exempel bygga en ODBC-applikation som använder en Microsoft ODBC-drivrutin på Windows och en Easysoft ODBC-drivrutin på Linux. I följande handledning, som beskriver hur man skapar en konsolapplikation för Linux som hämtar SQL Server-data, är komponenterna:

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. Ladda ner SQL Server ODBC-drivrutinen för 64-bitars Linux-plattformar. (Registrering krävs.)
  2. Installera och licensiera SQL Server ODBC-drivrutinen på maskinen där plattformsassistenten (PA-servern) är eller kommer att installeras.

    För installationsinstruktioner, se dokumentationen för ODBC-drivrutinen.

    Obs Du behöver unixODBC Driver Manager installerad på din maskin. Easysoft-distributionen inkluderar en version av unixODBC Driver Manager som Easysoft SQL Server ODBC-drivrutinen har testats med. Easysofts installationsprogram för drivrutiner ger dig möjlighet att installera unixODBC.

  3. Skapa en ODBC-datakälla i /etc/odbc.ini som ansluter till SQL Server-databasen du vill komma åt från Delphi. Till exempel:
    [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. Använd isql för att testa den nya datakällan. Till exempel:
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v SQLSERVER_SAMPLE
    

    Vid prompten skriver du "hjälp" för att visa en lista med tabeller. För att avsluta, tryck på retur i en tom uppmaningsrad.

    Om du inte kan ansluta, se den här artikeln och SQL Server ODBC Driver Knowledge Base för hjälp.

  1. Om du inte redan har gjort det, installera PA-servern på maskinen där du har installerat SQL Server ODBC-drivrutinen.
  2. Ställ in miljön på den här maskinen så att ditt Delphi-program kan ladda SQL Server ODBC-drivrutinen. Till exempel:
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/easysoft/sqlserver:/usr/local/easysoft/lib:
    /usr/local/easysoft/unixODBC/lib
    export $LD_LIBRARY_PATH
    

    Starta PA-servern. Till exempel:

    cd ~/PAServer-19.0
    ./paserver
    

    Om du inte installerade unixODBC Driver Manager som ingår i SQL Server ODBC-drivrutinsdistributionen, utelämna /usr/local/easysoft/unixODBC/lib från miljövariabelns värde.

  3. Skapa en ny Delphi-konsolapplikation i RAD Studio.
  4. Ställ in målplattformen för applikationen att vara 64-bitars Linux.
  5. Redigera profilegenskaperna för din målplattform för att ange detaljerna för din PA-server.
  6. Sätt in koden som visas i början av denna handledning i programmet.
  7. Kör programmet.

  1. MySQL frågar efter exempel med svar

  2. Enkelt Postgresql-uttalande - kolumnnamnet finns inte

  3. Hur får jag en frågeexekveringsplan i SQL Server?

  4. Fysiska replikeringsmekanismer i PostgreSQL