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:
- Изтеглете ODBC драйвера за Windows Salesforce.com. (Необходима е регистрация.)
- Инсталирайте и лицензирайте 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 драйвер:
- Направете едно от следните неща:
- За да създадете източник на потребителски данни, в раздела Потребителски DSN изберете Добавяне.
–Или–
- За да създадете системен източник на данни, изберете раздела System DSN и след това изберете Добавяне.
- За да създадете източник на потребителски данни, в раздела Потребителски DSN изберете Добавяне.
- В диалоговия прозорец Създаване на нов източник на данни изберете Easysoft ODBC-Salesforce Driver и след това изберете Край.
- Попълнете диалоговия прозорец 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.
- Използвайте бутона Тест, за да потвърдите, че можете успешно да се свържете със Salesforce.com.
Следвайте тези стъпки, за да заявите някои данни на Salesforce.com от приложение на Delphi.
- В нов проект на Delphi добавете формуляр
- Добавете две контроли за TButton, наречени „executeButton“ и „connectButton“. Задайте
Text
свойства на бутоните за "Изпълнение" и "Свързване". - Задайте
Enabled
свойство наexecuteButton
доFalse
. - Добавете TMemo контрола с име "outputMemo".
- Добавете компонент TFDConnection. Щракнете двукратно върху този компонент.
Показва се диалоговият прозорец FireDAC Connection Editor.
- В списъка с идентификационни номера на драйвера изберете ODBC.
- Изберете бутона Съветник. Изберете своя източник на данни в Salesforce от раздела Източници на машинни данни, когато бъдете подканени.
- В диалоговия прозорец FireDAC Connection Editor изтрийте стойностите от полетата User_Name и Password.
В полето ODBCAdvanced добавете този низ към съществуващата стойност:
UID=user_name;PWD=password.
Заменете user_name и парола със стойностите, които току-що изтрихте от полетата User_Name и Password.
- Добавете този код към
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;
- Добавете този код към
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;
- Компилирайте и стартирайте приложението.
- За да се свържете с източника на данни Salesforce.com, изберете бутона Свързване. За да върнете някои данни от таблицата Accounts, изберете бутона Execute.