sql >> データベース >  >> RDS >> Sqlserver

Linux上のDelphiをSQLServerに接続する

    RAD Studioを使用すると、WindowsプラットフォームとLinuxプラットフォームの両方に対応したDelphiアプリケーションを構築できます。たとえば、WindowsではMicrosoft ODBCドライバーを使用し、LinuxではEasysoftODBCドライバーを使用するODBCアプリケーションを構築できます。 SQL Serverデータを取得するLinux用のコンソールアプリケーションを作成する方法を説明する次のチュートリアルでは、コンポーネントは次のとおりです。

    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. 64ビットLinuxプラットフォーム用のSQLServerODBCドライバーをダウンロードします。 (登録が必要です。)
    2. プラットフォームアシスタント(PAサーバー)がインストールされている、またはインストールされる予定のマシンにSQLServerODBCドライバーをインストールしてライセンスを取得します。

      インストール手順については、ODBCドライバーのドキュメントを参照してください。

      マシンにunixODBCDriverManagerがインストールされている必要があります。 Easysoftディストリビューションには、Easysoft SQLServerODBCドライバーがテストされたバージョンのunixODBCドライバーマネージャーが含まれています。 Easysoftドライバセットアッププログラムには、unixODBCをインストールするオプションがあります。

    3. DelphiからアクセスするSQLServerデータベースに接続するODBCデータソースを/etc/odbc.iniに作成します。次に例を示します。
      [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. isqlを使用して新しいデータソースをテストします。例:
      cd /usr/local/easysoft/unixODBC/bin
      ./isql.sh -v SQLSERVER_SAMPLE
      

      プロンプトで「help」と入力して、テーブルのリストを表示します。終了するには、空のプロンプト行でReturnキーを押します。

      接続できない場合は、この記事とSQLServerODBCドライバーのナレッジベースを参照してください。

    1. まだインストールしていない場合は、SQLServerODBCドライバーをインストールしたマシンにPAサーバーをインストールします。
    2. このマシンの環境を設定して、DelphiプログラムがSQLServerODBCドライバーをロードできるようにします。例:
      LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/easysoft/sqlserver:/usr/local/easysoft/lib:
      /usr/local/easysoft/unixODBC/lib
      export $LD_LIBRARY_PATH
      

      PAサーバーを起動します。例:

      cd ~/PAServer-19.0
      ./paserver
      

      SQL ServerODBCドライバーディストリビューションに含まれているunixODBCドライバーマネージャーをインストールしなかった場合は、/usr/local/easysoft/unixODBC/libを省略してください。 環境変数値から。

    3. RAD Studioで、新しいDelphiコンソールアプリケーションを作成します。
    4. アプリケーションのターゲットプラットフォームを64ビットLinuxに設定します。
    5. ターゲットプラットフォームのプロファイルプロパティを編集して、PAサーバーの詳細を指定します。
    6. このチュートリアルの冒頭に示されているコードをアプリケーションに挿入します。
    7. アプリケーションを実行します。

    1. MySQLCOALESCEおよびNULLIF関数

    2. MySQLで複数の列を検索する方法は?

    3. MySQLDB SScursorを効率的に使用するにはどうすればよいですか?

    4. WHERE句でのエイリアスの使用