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.
Ovladač ODBC Salesforce.com vám umožňuje pracovat s daty Salesforce.com v aplikacích Embarcadero Delphi.
Ovladač ODBC Salesforce.com je k dispozici ke stažení z webové stránky Easysoft:
- Stáhněte si ovladač ODBC pro Windows Salesforce.com. (Je nutná registrace.)
- Nainstalujte a licencujte ovladač ODBC Salesforce.com na počítači, kde je nainstalován.
Pokyny k instalaci naleznete v dokumentaci k ovladači ODBC na portálu Salesforce.com.
Než budete moci použít Salesforce.com ODBC Driver k připojení Delphi k Salesforce.com, musíte nakonfigurovat zdroj dat ODBC. Zdroj dat ODBC ukládá podrobnosti o připojení pro cílovou databázi (např. Salesforce.com) a ovladač ODBC, který je vyžadován pro připojení k ní (např. ovladač ODBC Salesforce.com).
Chystáme se vytvořit 32bitovou aplikaci Delphi, takže ke konfiguraci zdroje dat použijeme 32bitovou verzi správce ODBC (%WINDIR%\SysWOW64\odbcad32.exe).
Chcete-li vytvořit zdroj dat ovladače Salesforce.com ODBC Driver:
- Proveďte jeden z následujících kroků:
- Chcete-li vytvořit zdroj dat uživatele, na kartě Uživatelské DSN zvolte Přidat.
–Nebo–
- Chcete-li vytvořit systémový zdroj dat, vyberte kartu Systémové DSN a poté zvolte Přidat.
- Chcete-li vytvořit zdroj dat uživatele, na kartě Uživatelské DSN zvolte Přidat.
- V dialogovém okně Vytvořit nový zdroj dat zvolte Easysoft ODBC-Salesforce Driver a poté zvolte Dokončit.
- Dokončete dialogové okno Nastavení DSN ovladače Easysoft ODBC-Salesforce Driver:
Nastavení Hodnota DSN Salesforce.com Uživatelské jméno Jméno vašeho uživatele Salesforce.com. Například [email protected]. Heslo Heslo pro vašeho uživatele Salesforce.com. Token Bezpečnostní token pro vašeho uživatele Salesforce.com, je-li vyžadován. Chcete-li zjistit, zda potřebujete dodat bezpečnostní token, zvolte tlačítko Test. Pokud se pokus o připojení nezdaří s chybou, která obsahuje
LOGIN_MUST_USE_SECURITY_TOKEN
, musíte jeden dodat.Salesforce.com odešle e-mailem bezpečnostní token na e-mailovou adresu spojenou s vaším uživatelským účtem Salesforce.com. Pokud jste neobdrželi bezpečnostní token, můžete jej znovu vytvořit. Salesforce.com vám poté pošle e-mailem nový bezpečnostní token. Chcete-li znovu vytvořit svůj bezpečnostní token, přihlaste se na Salesforce.com a poté z uživatelské nabídky vyberte Nastavení. V poli Rychlé hledání vyhledejte „token zabezpečení“. Na stránce Resetovat bezpečnostní token klikněte na Obnovit bezpečnostní token. Když token obdržíte do svého e-mailového klienta, zkopírujte jej a vložte do pole Token.
- Pomocí tlačítka Test ověřte, že se můžete úspěšně připojit k webu Salesforce.com.
Při dotazování na některá data Salesforce.com z aplikace Delphi postupujte podle těchto kroků.
- V novém projektu Delphi přidejte formulář
- Přidejte dva ovládací prvky TButton s názvem „executeButton“ a „connectButton“. Nastavte
Text
vlastnosti tlačítek na "Execute" a "Connect". - Nastavte
Enabled
vlastnostexecuteButton
naFalse
. - Přidejte ovládací prvek TMemo s názvem "outputMemo".
- Přidejte komponentu TFDConnection. Poklepejte na tuto součást.
Zobrazí se dialogové okno FireDAC Connection Editor.
- V seznamu ID ovladače vyberte ODBC.
- Zvolte tlačítko Průvodce. Po zobrazení výzvy vyberte zdroj dat Salesforce na kartě Zdroje strojových dat.
- V dialogovém okně FireDAC Connection Editor odstraňte hodnoty z polí User_Name a Password.
V poli ODBCAdvanced přidejte tento řetězec k existující hodnotě:
UID=user_name;PWD=password.
Nahraďte user_name a heslo s hodnotami, které jste právě odstranili z polí Uživatelské_jméno a Heslo.
- Přidejte tento kód do
OnClick
obsluha události proconnectButton
: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;
- Přidejte tento kód do
OnClick
obsluha události proexecuteButton
: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;
- Zkompilujte a spusťte aplikaci.
- Chcete-li se připojit ke zdroji dat Salesforce.com, klikněte na tlačítko Připojit. Chcete-li vrátit některá data z tabulky Účet, zvolte tlačítko Provést.