Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Menghubungkan Delphi di Linux ke SQL Server

RAD Studio memungkinkan Anda membangun aplikasi Delphi untuk platform Windows dan Linux. Anda dapat, misalnya, membuat aplikasi ODBC yang menggunakan driver Microsoft ODBC di Windows dan driver ODBC Easysoft di Linux. Dalam tutorial berikut yang menjelaskan cara membuat aplikasi konsol untuk Linux yang mengambil data SQL Server, komponennya adalah:

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. Unduh driver SQL Server ODBC untuk platform Linux 64-bit. (Pendaftaran diperlukan.)
  2. Instal dan lisensikan driver SQL Server ODBC pada mesin tempat Platform Assistant (PA Server) sedang atau akan diinstal.

    Untuk petunjuk penginstalan, lihat dokumentasi driver ODBC.

    Catatan Anda memerlukan Pengelola Driver unixODBC yang diinstal pada mesin Anda. Distribusi Easysoft mencakup versi Pengelola Driver unixODBC yang telah diuji dengan pengandar ODBC Easysoft SQL Server. Program pengaturan driver Easysoft memberi Anda opsi untuk menginstal unixODBC.

  3. Buat sumber data ODBC di /etc/odbc.ini yang terhubung ke database SQL Server yang ingin Anda akses dari Delphi. Misalnya:
    [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. Gunakan isql untuk menguji sumber data baru. Misalnya:
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v SQLSERVER_SAMPLE
    

    Saat diminta, ketik "bantuan" untuk menampilkan daftar tabel. Untuk keluar, tekan kembali di baris prompt yang kosong.

    Jika Anda tidak dapat terhubung, lihat artikel ini dan Basis Pengetahuan Driver ODBC SQL Server untuk mendapatkan bantuan.

  1. Jika Anda belum melakukannya, instal PA Server pada mesin tempat Anda menginstal driver SQL Server ODBC.
  2. Setel lingkungan pada mesin ini sehingga program Delphi Anda dapat memuat driver SQL Server ODBC. Misalnya:
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/easysoft/sqlserver:/usr/local/easysoft/lib:
    /usr/local/easysoft/unixODBC/lib
    export $LD_LIBRARY_PATH
    

    Mulai Server PA. Misalnya:

    cd ~/PAServer-19.0
    ./paserver
    

    Jika Anda tidak menginstal Manajer Pengandar unixODBC yang disertakan dalam distribusi pengandar SQL Server ODBC, hilangkan /usr/local/easysoft/unixODBC/lib dari nilai variabel lingkungan.

  3. Di RAD Studio, buat aplikasi konsol Delphi baru.
  4. Tetapkan platform target untuk aplikasi menjadi Linux 64-bit.
  5. Edit properti profil untuk platform target Anda guna menentukan detail Server PA Anda.
  6. Masukkan kode yang ditampilkan di awal tutorial ini ke dalam aplikasi.
  7. Jalankan aplikasi.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan SQL Server:Data string atau biner akan terpotong

  2. Pencocokan fuzzy menggunakan T-SQL

  3. SQL Server 2016:Buat Tabel dari Skrip SQL

  4. Mengonfigurasi Notifikasi Email Database di MS SQL Server

  5. DB_NAME() vs ORIGINAL_DB_NAME() di SQL Server:Apa Bedanya?