Database
 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.

ODBC драйверът Salesforce.com ви позволява да работите с данни на Salesforce.com в приложения на Embarcadero Delphi.

ODBC драйверът Salesforce.com е достъпен за изтегляне от уеб сайта на Easysoft:

  1. Изтеглете ODBC драйвера за Windows Salesforce.com. (Необходима е регистрация.)
  2. Инсталирайте и лицензирайте Salesforce.com ODBC драйвера на машината, където е инсталиран.

    За инструкции за инсталиране вижте документацията на Salesforce.com ODBC драйвер.

Преди да можете да използвате Salesforce.com ODBC драйвера, за да свържете Delphi към Salesforce.com, трябва да конфигурирате източник на ODBC данни. Източникът на ODBC данни съхранява подробностите за връзката за целевата база данни (напр. Salesforce.com) и ODBC драйвера, който е необходим за свързване с нея (например Salesforce.com ODBC драйвер).

Ще създадем 32-битово приложение Delphi, така че да използваме 32-битовата версия на ODBC Administrator (%WINDIR%\SysWOW64\odbcad32.exe), за да конфигурираме нашия източник на данни.

За да създадете източник на данни за Salesforce.com ODBC драйвер:

  1. Направете едно от следните неща:
    • За да създадете източник на потребителски данни, в раздела Потребителски DSN изберете Добавяне.

      –Или–

    • За да създадете системен източник на данни, изберете раздела System DSN и след това изберете Добавяне.
  2. В диалоговия прозорец Създаване на нов източник на данни изберете Easysoft ODBC-Salesforce Driver и след това изберете Край.
  3. Попълнете диалоговия прозорец Easysoft ODBC-Salesforce Driver DSN Setup:
    Setting Стойност
    DSN Salesforce.com
    Потребителско име Името на вашия потребител на Salesforce.com. Например [email protected].
    Парола Паролата за вашия потребител на Salesforce.com.
    Токен Токенът за защита за вашия потребител на Salesforce.com, ако е необходимо.

    За да разберете дали трябва да предоставите токен за защита, изберете бутона Тест. Ако опитът за свързване е неуспешен с грешка, която съдържа LOGIN_MUST_USE_SECURITY_TOKEN , трябва да предоставите такъв.

    Salesforce.com изпраща по имейл токена за сигурност на имейл адреса, свързан с вашия потребителски акаунт в Salesforce.com. Ако не сте получили токен за сигурност, можете да го регенерирате. След това Salesforce.com ще ви изпрати по имейл новия токен за сигурност. За да регенерирате своя токен за сигурност, влезте в Salesforce.com и след това изберете Настройка от потребителското меню. Потърсете "сигурен маркер" в полето за бързо намиране. Щракнете върху Нулиране на маркера за защита на страницата Нулиране на маркера за защита. Когато получите маркера във вашия имейл клиент, копирайте го и след това го поставете в полето Token.

  4. Използвайте бутона Тест, за да потвърдите, че можете успешно да се свържете със Salesforce.com.

Следвайте тези стъпки, за да заявите някои данни на Salesforce.com от приложение на Delphi.

  1. В нов проект на Delphi добавете формуляр
  2. Добавете две контроли за TButton, наречени „executeButton“ и „connectButton“. Задайте Text свойства на бутоните за "Изпълнение" и "Свързване".
  3. Задайте Enabled свойство на executeButton до False .
  4. Добавете TMemo контрола с име "outputMemo".
  5. Добавете компонент TFDConnection. Щракнете двукратно върху този компонент.

    Показва се диалоговият прозорец FireDAC Connection Editor.

  6. В списъка с идентификационни номера на драйвера изберете ODBC.
  7. Изберете бутона Съветник. Изберете своя източник на данни в Salesforce от раздела Източници на машинни данни, когато бъдете подканени.
  8. В диалоговия прозорец FireDAC Connection Editor изтрийте стойностите от полетата User_Name и Password.

    В полето 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, изберете бутона Свързване. За да върнете някои данни от таблицата Accounts, изберете бутона Execute.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Аспекти на низовете в .NET

  2. Какво влияние могат да имат различните опции на курсора?

  3. Как да моделираме за лесна поддръжка на база данни

  4. Две особености на разделяне

  5. Преименуване на индекси с процедура sp_rename