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.
Il driver ODBC di Salesforce.com ti consente di lavorare con i dati di Salesforce.com nelle applicazioni Embarcadero Delphi.
Il driver ODBC di Salesforce.com è disponibile per il download dal sito Web Easysoft:
- Scarica il driver ODBC di Windows Salesforce.com. (Registrazione richiesta.)
- Installare e concedere in licenza il driver ODBC Salesforce.com sulla macchina in cui è installato.
Per le istruzioni di installazione, vedere la documentazione del driver ODBC di Salesforce.com.
Prima di poter utilizzare il driver ODBC di Salesforce.com per connettere Delphi a Salesforce.com, è necessario configurare un'origine dati ODBC. Un'origine dati ODBC memorizza i dettagli di connessione per il database di destinazione (ad es. Salesforce.com) e il driver ODBC necessario per connettersi ad esso (ad es. il driver ODBC di Salesforce.com).
Creeremo un'applicazione Delphi a 32 bit, quindi utilizziamo la versione a 32 bit di ODBC Administrator (%WINDIR%\SysWOW64\odbcad32.exe) per configurare la nostra origine dati.
Per creare un'origine dati del driver ODBC Salesforce.com:
- Esegui una delle seguenti operazioni:
- Per creare un'origine dati utente, nella scheda DSN utente, scegli Aggiungi.
–Oppure–
- Per creare un'origine dati di sistema, scegli la scheda DSN di sistema, quindi scegli Aggiungi.
- Per creare un'origine dati utente, nella scheda DSN utente, scegli Aggiungi.
- Nella finestra di dialogo Crea nuova origine dati, scegli Easysoft ODBC-Salesforce Driver, quindi scegli Fine.
- Completare la finestra di dialogo Configurazione DSN di Easysoft ODBC-Salesforce Driver:
Impostazioni Valore DSN Salesforce.com Nome utente Il nome del tuo utente Salesforce.com. Ad esempio, [email protected]. Password La password per l'utente Salesforce.com. Segnale Il token di sicurezza per l'utente Salesforce.com, se richiesto. Per scoprire se è necessario fornire un token di sicurezza, scegli il pulsante Test. Se il tentativo di connessione fallisce con un errore che contiene
LOGIN_MUST_USE_SECURITY_TOKEN
, devi fornirne uno.Salesforce.com invia tramite e-mail il token di sicurezza all'indirizzo e-mail associato al tuo account utente Salesforce.com. Se non hai ricevuto un token di sicurezza, puoi rigenerarlo. Salesforce.com ti invierà quindi un'e-mail con il nuovo token di sicurezza. Per rigenerare il token di sicurezza, accedi a Salesforce.com e quindi scegli Configurazione dal menu utente. Cerca "token di sicurezza" nella casella Ricerca veloce. Fare clic su Reimposta token di sicurezza nella pagina Reimposta token di sicurezza. Quando ricevi il token nel tuo client di posta, copialo e incollalo nel campo Token.
- Utilizza il pulsante Test per verificare di poterti connettere correttamente a Salesforce.com.
Segui questi passaggi per interrogare alcuni dati di Salesforce.com da un'applicazione Delphi.
- In un nuovo progetto Delphi, aggiungi un modulo
- Aggiungi due controlli TButton, denominati "executeButton" e "connectButton". Imposta il
Text
proprietà dei pulsanti per "Esegui" e "Connetti". - Imposta il
Enabled
proprietà diexecuteButton
aFalse
. - Aggiungi un controllo TMemo denominato "outputMemo".
- Aggiungi un componente TFDConnection. Fare doppio clic su questo componente.
Viene visualizzata la finestra di dialogo Editor connessione FireDAC.
- Nell'elenco ID driver, scegli ODBC.
- Scegli il pulsante Procedura guidata. Scegli la tua origine dati Salesforce dalla scheda Origini dati macchina, quando richiesto.
- Nella finestra di dialogo FireDAC Connection Editor, elimina i valori dalle caselle User_Name e Password.
Nella casella ODBCAdvanced, casella aggiungi questa stringa al valore esistente:
UID=user_name;PWD=password.
Sostituisci nome_utente e password con i valori appena cancellati dalle caselle User_Name e Password.
- Aggiungi questo codice a
OnClick
gestore di eventi perconnectButton
: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;
- Aggiungi questo codice a
OnClick
gestore di eventi perexecuteButton
: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;
- Compila ed esegui l'applicazione.
- Per connetterti all'origine dati Salesforce.com, scegli il pulsante Connetti. Per restituire alcuni dati dalla tabella Account, scegli il pulsante Esegui.