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-drivrutinen gör att du kan arbeta med Salesforce.com-data i Embarcadero Delphi-applikationer.
Salesforce.com ODBC-drivrutinen finns att ladda ner från Easysofts webbplats:
- Ladda ner Windows Salesforce.com ODBC-drivrutinen. (Registrering krävs.)
- Installera och licensiera Salesforce.com ODBC-drivrutinen på maskinen där den är installerad.
För installationsinstruktioner, se Salesforce.com ODBC-drivrutinsdokumentationen.
Innan du kan använda Salesforce.com ODBC-drivrutinen för att ansluta Delphi till Salesforce.com måste du konfigurera en ODBC-datakälla. En ODBC-datakälla lagrar anslutningsdetaljerna för måldatabasen (t.ex. Salesforce.com) och ODBC-drivrutinen som krävs för att ansluta till den (t.ex. Salesforce.com ODBC-drivrutinen).
Vi kommer att skapa en 32-bitars Delphi-applikation så vi använder 32-bitarsversionen av ODBC Administrator (%WINDIR%\SysWOW64\odbcad32.exe) för att konfigurera vår datakälla.
Så här skapar du en datakälla för Salesforce.com ODBC-drivrutin:
- Gör något av följande:
- För att skapa en användardatakälla, välj Lägg till på fliken Användar-DSN.
–Eller–
- För att skapa en systemdatakälla, välj fliken System DSN och välj sedan Lägg till.
- För att skapa en användardatakälla, välj Lägg till på fliken Användar-DSN.
- I dialogrutan Skapa ny datakälla väljer du Easysoft ODBC-Salesforce-drivrutin och väljer sedan Slutför.
- Slutför dialogrutan Easysoft ODBC-Salesforce Driver DSN Setup:
Inställning Värde DSN Salesforce.com Användarnamn Namnet på din Salesforce.com-användare. Till exempel, [email protected]. Lösenord Lösenordet för din Salesforce.com-användare. Token Säkerhetstoken för din Salesforce.com-användare, om det behövs. För att ta reda på om du behöver tillhandahålla en säkerhetstoken, välj knappen Testa. Om anslutningsförsöket misslyckas med ett fel som innehåller
LOGIN_MUST_USE_SECURITY_TOKEN
, måste du tillhandahålla en.Salesforce.com skickar säkerhetstokenen via e-post till den e-postadress som är kopplad till ditt Salesforce.com-användarkonto. Om du inte har fått en säkerhetstoken kan du återskapa den. Salesforce.com kommer sedan att skicka den nya säkerhetstoken till dig via e-post. För att återskapa din säkerhetstoken, logga in på Salesforce.com och välj sedan Inställningar från användarmenyn. Sök efter "säkerhetstoken" i snabbsökningsrutan. Klicka på Återställ säkerhetstoken på sidan Återställ säkerhetstoken. När du får token i din e-postklient, kopiera den och klistra in den i Token-fältet.
- Använd knappen Test för att verifiera att du lyckas ansluta till Salesforce.com.
Följ dessa steg för att söka efter Salesforce.com-data från en Delphi-applikation.
- I ett nytt Delphi-projekt lägger du till ett formulär
- Lägg till två TButton-kontroller som heter "executeButton" och "connectButton". Ställ in
Text
egenskaper för knapparna till "Execute" och "Connect". - Ställ in
Enabled
egenskapen förexecuteButton
tillFalse
. - Lägg till en TMemo-kontroll som heter "outputMemo".
- Lägg till en TFDConnection-komponent. Dubbelklicka på den här komponenten.
Dialogrutan FireDAC Connection Editor visas.
- Välj ODBC i listan förar-ID.
- Välj knappen Wizard. Välj din Salesforce-datakälla från fliken Maskindatakällor när du uppmanas.
- I dialogrutan FireDAC Connection Editor tar du bort värdena från rutorna Användarnamn och Lösenord.
I ODBCAdvanced-rutan, lägg till denna sträng till det befintliga värdet:
UID=user_name;PWD=password.
Ersätt användarnamn och lösenord med de värden du just tog bort från rutorna Användarnamn och Lösenord.
- Lägg till den här koden i
OnClick
händelsehanterare förconnectButton
: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;
- Lägg till den här koden i
OnClick
händelsehanterare förexecuteButton
: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;
- Kompilera och kör programmet.
- Välj knappen Anslut för att ansluta till Salesforce.com-datakällan. För att returnera vissa data från kontotabellen, välj knappen Kör.