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

DelphiをSalesforce.comに接続する

    unit Salesforce;
    
    interface
    
    uses
      System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
      FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
      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.FMXUI.Wait,
      FireDAC.DApt, FMX.Controls.Presentation, FMX.StdCtrls, Data.DB,
      FireDAC.Comp.Client, FMX.ScrollBox, FMX.Memo;
    
    type
      TForm1 = class(TForm)
        FDConnection1: TFDConnection;
        connectButton: TButton;
        outputMemo: TMemo;
        executeButton: TButton;
        procedure connectButtonClick(Sender: TObject);
        procedure executeButtonClick(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.fmx}
    
    procedure TForm1.connectButtonClick(Sender: TObject);
    begin
      outputMemo.Text := '';
    
      try
        // Establish the connection.
        FDConnection1.Open;
        executeButton.Enabled := True;
        outputMemo.Lines.Add('Connection established!');
      except
        on E: EDatabaseError do
          outputMemo.Lines.Add('Exception raised with message' + E.Message);
      end;
    end;
    
    procedure TForm1.executeButtonClick(Sender: TObject);
    var
      query: TFDQuery;
    begin
    
      query := TFDQuery.Create(nil);
    
      try
        // Define the SQL Query
        query.Connection := FDConnection1;
        query.SQL.Text := 'SELECT * FROM Account';
        query.Open();
        outputMemo.Text := '';
        // Add the field names from the table.
        outputMemo.Lines.Add(String.Format('%s | %s', [' ID ', ' NAME ']));
        // Add one line to the memo for each record in the table.
        while not query.Eof do
        begin
          outputMemo.Lines.Add(String.Format('%s | %s',
            [query.FieldByName('ID').AsString, query.FieldByName('Name').AsString]));
          query.Next;
        end;
    
      finally
        query.Close;
        query.DisposeOf;
      end;
    
    end;
    
    end.
    

    Salesforce.com ODBCドライバーを使用すると、EmbarcaderoDelphiアプリケーションでSalesforce.comデータを操作できます。

    Salesforce.com ODBCドライバーは、EasysoftWebサイトからダウンロードできます。

    1. WindowsSalesforce.comODBCドライバーをダウンロードします。 (登録が必要です。)
    2. がインストールされているマシンにSalesforce.comODBCドライバーをインストールしてライセンスを取得します。

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

    Salesforce.com ODBCドライバーを使用してDelphiをSalesforce.comに接続する前に、ODBCデータソースを構成する必要があります。 ODBCデータソースには、ターゲットデータベース(Salesforce.comなど)とそれに接続するために必要なODBCドライバー(Salesforce.com ODBCドライバーなど)の接続の詳細が格納されます。

    32ビットのDelphiアプリケーションを作成するので、32ビットバージョンのODBCアドミニストレーター(%WINDIR%\ SysWOW64 \ odbcad32.exe)を使用してデータソースを構成します。

    Salesforce.com ODBCドライバーデータソースを作成するには:

    1. 次のいずれかを実行します:
      • ユーザーデータソースを作成するには、[ユーザーDSN]タブで[追加]を選択します。

        –または–

      • システムデータソースを作成するには、[システムDSN]タブを選択し、[追加]を選択します。
    2. [Create New Data Source]ダイアログボックスで、[Easysoft ODBC]-[Salesforce Driver]を選択し、[Finish]を選択します。
    3. Easysoft ODBC-Salesforce Driver DSN Setupダイアログボックスを完了します:
      設定
      DSN Salesforce.com
      ユーザー名 Salesforce.comユーザーの名前。例:[email protected]
      パスワード Salesforce.comユーザーのパスワード。
      トークン 必要に応じて、Salesforce.comユーザーのセキュリティトークン。

      セキュリティトークンを提供する必要があるかどうかを確認するには、[テスト]ボタンを選択します。 LOGIN_MUST_USE_SECURITY_TOKENを含むエラーで接続の試行が失敗した場合 、1つ提供する必要があります。

      Salesforce.comは、Salesforce.comユーザーアカウントに関連付けられている電子メールアドレスにセキュリティトークンを電子メールで送信します。セキュリティトークンを受け取っていない場合は、再生成できます。その後、Salesforce.comから新しいセキュリティトークンがメールで送信されます。セキュリティトークンを再生成するには、Salesforce.comにログインし、ユーザーメニューから[設定]を選択します。 [クイック検索]ボックスで「セキュリティトークン」を検索します。 [セキュリティトークンのリセット]ページで[セキュリティトークンのリセット]をクリックします。メールクライアントでトークンを受け取ったら、それをコピーして、[トークン]フィールドに貼り付けます。

    4. [テスト]ボタンを使用して、Salesforce.comに正常に接続できることを確認します。

    次の手順に従って、DelphiアプリケーションからSalesforce.comデータをクエリします。

    1. 新しいDelphiプロジェクトで、フォームを追加します
    2. 「executeButton」と「connectButton」という名前の2つのTButtonコントロールを追加します。 Textを設定します 「実行」および「接続」ボタンのプロパティ。
    3. Enabledを設定します executeButtonのプロパティ Falseへ 。
    4. 「outputMemo」という名前のTMemoコントロールを追加します。
    5. TFDConnectionコンポーネントを追加します。このコンポーネントをダブルクリックします。

      FireDAC接続エディタダイアログボックスが表示されます。

    6. [ドライバーID]リストで、[ODBC]を選択します。
    7. ウィザードボタンを選択します。プロンプトが表示されたら、[マシンデータソース]タブからSalesforceデータソースを選択します。
    8. [FireDAC接続エディター]ダイアログボックスで、[ユーザー名]ボックスと[パスワード]ボックスから値を削除します。

      [ODBCAdvanced]ボックスで、ボックスに次の文字列を既存の値に追加します:

      UID=user_name;PWD=password.
      

      user_nameを置き換えます およびパスワード User_NameボックスとPasswordボックスから削除した値を使用します。

    9. このコードをOnClickに追加します connectButtonのイベントハンドラー :
      procedure TForm1.connectButtonClick(Sender: TObject);
      begin
        outputMemo.Text := '';
      
        try
          // Establish the connection.
          FDConnection1.Open;
          executeButton.Enabled := True;
          outputMemo.Lines.Add('Connection established!');
        except
          on E: EDatabaseError do
            outputMemo.Lines.Add('Exception raised with message' + E.Message);
        end;
      end;
      
    10. このコードをOnClickに追加します executeButtonのイベントハンドラー :
      procedure TForm1.executeButtonClick(Sender: TObject);
      var
        query: TFDQuery;
      begin
      
        query := TFDQuery.Create(nil);
      
        try
          // Define the SQL Query
          query.Connection := FDConnection1;
          query.SQL.Text := 'SELECT * FROM Account';
          query.Open();
          outputMemo.Text := '';
          // Add the field names from the table.
          outputMemo.Lines.Add(String.Format('%s | %s', [' ID ', ' NAME ']));
          // Add one line to the memo for each record in the table.
          while not query.Eof do
          begin
            outputMemo.Lines.Add(String.Format('%s | %s',
              [query.FieldByName('ID').AsString, query.FieldByName('Name').AsString]));
            query.Next;
          end;
      
        finally
          query.Close;
          query.DisposeOf;
        end;
      
      end;
      
    11. アプリケーションをコンパイルして実行します。
    12. Salesforce.comデータソースに接続するには、[接続]ボタンを選択します。アカウントテーブルからデータを返すには、[実行]ボタンを選択します。

    1. MySQL構成変数の設定–MySQL5.7とMySQL8.0

    2. SQLテーブル結合のON句とWHERE句の違い

    3. PostgreSQLで利用可能なデータベースダイアグラムツールの概要

    4. DSTのためにOracleの日付比較が壊れています