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.
Met het Salesforce.com ODBC-stuurprogramma kunt u werken met Salesforce.com-gegevens in Embarcadero Delphi-toepassingen.
Het ODBC-stuurprogramma van Salesforce.com kan worden gedownload van de Easysoft-website:
- Download het Windows Salesforce.com ODBC-stuurprogramma. (Registratie vereist.)
- Installeer en licentieer het Salesforce.com ODBC-stuurprogramma op de computer waarop het is geïnstalleerd.
Zie de documentatie van Salesforce.com ODBC Driver voor installatie-instructies.
Voordat u het ODBC-stuurprogramma van Salesforce.com kunt gebruiken om Delphi te verbinden met Salesforce.com, moet u een ODBC-gegevensbron configureren. Een ODBC-gegevensbron slaat de verbindingsdetails op voor de doeldatabase (bijv. Salesforce.com) en het ODBC-stuurprogramma dat nodig is om er verbinding mee te maken (bijv. het Salesforce.com ODBC-stuurprogramma).
We gaan een 32-bits Delphi-toepassing maken, dus we gebruiken de 32-bits versie van ODBC Administrator (%WINDIR%\SysWOW64\odbcad32.exe) om onze gegevensbron te configureren.
Een Salesforce.com ODBC Driver-gegevensbron maken:
- Voer een van de volgende handelingen uit:
- Als u een gebruikersgegevensbron wilt maken, kiest u op het tabblad Gebruikers-DSN de optie Toevoegen.
–Of–
- Als u een systeemgegevensbron wilt maken, kiest u het tabblad Systeem-DSN en kiest u vervolgens Toevoegen.
- Als u een gebruikersgegevensbron wilt maken, kiest u op het tabblad Gebruikers-DSN de optie Toevoegen.
- Kies in het dialoogvenster Nieuwe gegevensbron maken de optie Easysoft ODBC-Salesforce Driver en kies vervolgens Voltooien.
- Vul het dialoogvenster Easysoft ODBC-Salesforce Driver DSN Setup in:
Instelling Waarde DSN Salesforce.com Gebruikersnaam De naam van uw Salesforce.com-gebruiker. Bijvoorbeeld [email protected]. Wachtwoord Het wachtwoord voor uw Salesforce.com-gebruiker. Token Het beveiligingstoken voor uw Salesforce.com-gebruiker, indien nodig. Als u wilt weten of u een beveiligingstoken moet aanleveren, kiest u de knop Test. Als de verbindingspoging mislukt met een fout die
LOGIN_MUST_USE_SECURITY_TOKEN
bevat , je moet er een aanleveren.Salesforce.com e-mailt het beveiligingstoken naar het e-mailadres dat is gekoppeld aan uw Salesforce.com-gebruikersaccount. Als u geen beveiligingstoken hebt ontvangen, kunt u deze opnieuw genereren. Salesforce.com zal vervolgens het nieuwe beveiligingstoken naar u e-mailen. Om uw beveiligingstoken opnieuw te genereren, logt u in op Salesforce.com en kiest u vervolgens Set-up in het gebruikersmenu. Zoek naar "beveiligingstoken" in het vak Snel zoeken. Klik op Beveiligingstoken opnieuw instellen op de pagina Beveiligingstoken opnieuw instellen. Wanneer u de token in uw e-mailclient ontvangt, kopieert u deze en plakt u deze in het veld Token.
- Gebruik de knop Test om te controleren of u verbinding kunt maken met Salesforce.com.
Volg deze stappen om een query uit te voeren op bepaalde Salesforce.com-gegevens vanuit een Delphi-toepassing.
- Voeg een formulier toe in een nieuw Delphi-project
- Voeg twee TButton-besturingselementen toe, genaamd "executeButton" en "connectButton". Stel de
Text
in eigenschappen van de knoppen naar "Uitvoeren" en "Verbinden". - Stel de
Enabled
. in eigenschap vanexecuteButton
naarFalse
. - Voeg een TMemo-besturingselement toe met de naam "outputMemo".
- Voeg een TFDConnection-component toe. Dubbelklik op dit onderdeel.
Het dialoogvenster FireDAC Connection Editor wordt weergegeven.
- Kies in de lijst met chauffeurs-ID's ODBC.
- Kies de Wizard-knop. Kies uw Salesforce-gegevensbron op het tabblad Machinegegevensbronnen als daarom wordt gevraagd.
- In het dialoogvenster FireDAC Connection Editor verwijdert u de waarden uit de vakken User_Name en Password.
Voeg in het vak ODBCAdvanced deze tekenreeks toe aan de bestaande waarde:
UID=user_name;PWD=password.
Vervang gebruikersnaam en wachtwoord met de waarden die u zojuist hebt verwijderd uit de vakken User_Name en Password.
- Voeg deze code toe aan de
OnClick
gebeurtenis-handler voorconnectButton
: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;
- Voeg deze code toe aan de
OnClick
gebeurtenishandler voorexecuteButton
: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;
- Compileer en voer de applicatie uit.
- Kies de knop Verbinden om verbinding te maken met de Salesforce.com-gegevensbron. Om wat gegevens uit de Account-tabel terug te halen, kiest u de knop Uitvoeren.