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.
Driver ODBC Salesforce.com memungkinkan Anda bekerja dengan data Salesforce.com di aplikasi Embarcadero Delphi.
Driver ODBC Salesforce.com tersedia untuk diunduh dari situs web Easysoft:
- Unduh Pengandar ODBC Windows Salesforce.com. (Pendaftaran diperlukan.)
- Instal dan lisensikan Driver ODBC Salesforce.com pada mesin tempat diinstal.
Untuk petunjuk penginstalan, lihat dokumentasi Driver ODBC Salesforce.com.
Sebelum Anda dapat menggunakan Driver ODBC Salesforce.com untuk menghubungkan Delphi ke Salesforce.com, Anda perlu mengonfigurasi sumber data ODBC. Sumber data ODBC menyimpan detail koneksi untuk database target (misalnya Salesforce.com) dan driver ODBC yang diperlukan untuk menyambungkannya (misalnya driver ODBC Salesforce.com).
Kami akan membuat aplikasi Delphi 32-bit jadi kami menggunakan ODBC Administrator versi 32-bit (%WINDIR%\SysWOW64\odbcad32.exe) untuk mengkonfigurasi sumber data kami.
Untuk membuat sumber data Driver ODBC Salesforce.com:
- Lakukan salah satu dari yang berikut:
- Untuk membuat sumber data Pengguna, di tab DSN Pengguna, pilih Tambah.
–Atau–
- Untuk membuat sumber data Sistem, pilih tab DSN Sistem, lalu pilih Tambah.
- Untuk membuat sumber data Pengguna, di tab DSN Pengguna, pilih Tambah.
- Dalam kotak dialog Buat Sumber Data Baru, pilih Easysoft ODBC-Salesforce Driver, lalu pilih Selesai.
- Selesaikan kotak dialog Easysoft ODBC-Salesforce Driver DSN Setup:
Setting Nilai DSN Salesforce.com Nama Pengguna Nama pengguna Salesforce.com Anda. Misalnya, [email protected]. Kata Sandi Kata sandi untuk pengguna Salesforce.com Anda. Token Token keamanan untuk pengguna Salesforce.com Anda, jika diperlukan. Untuk mengetahui apakah Anda perlu menyediakan token keamanan, pilih tombol Uji. Jika upaya koneksi gagal dengan kesalahan yang berisi
LOGIN_MUST_USE_SECURITY_TOKEN
, Anda harus menyediakannya.Salesforce.com mengirimkan token keamanan melalui email ke alamat email yang terkait dengan akun pengguna Salesforce.com Anda. Jika Anda belum menerima token keamanan, Anda dapat membuatnya kembali. Salesforce.com kemudian akan mengirimkan email token keamanan baru kepada Anda. Untuk membuat ulang token keamanan Anda, masuk ke Salesforce.com lalu pilih Setup dari menu pengguna. Cari "token keamanan" di kotak Cari Cepat. Klik Atur Ulang Token Keamanan di halaman Atur Ulang Token Keamanan. Saat Anda menerima token di klien email Anda, salin dan tempelkan ke bidang Token.
- Gunakan tombol Uji untuk memverifikasi bahwa Anda berhasil tersambung ke Salesforce.com.
Ikuti langkah-langkah ini untuk menanyakan beberapa data Salesforce.com dari aplikasi Delphi.
- Dalam proyek Delphi baru, tambahkan formulir
- Tambahkan dua kontrol TButton, bernama "executeButton" dan "connectButton". Setel
Text
properti tombol untuk "Jalankan" dan "Hubungkan". - Setel
Enabled
propertiexecuteButton
menjadiFalse
. - Tambahkan kontrol TMemo bernama "outputMemo".
- Tambahkan komponen TFDConnection. Klik dua kali komponen ini.
Kotak dialog FireDAC Connection Editor ditampilkan.
- Dalam daftar Driver ID, pilih ODBC.
- Pilih tombol Wizard. Pilih sumber data Salesforce Anda dari tab Sumber Data Mesin, saat diminta.
- Dalam kotak dialog FireDAC Connection Editor, hapus nilai dari kotak Nama_Pengguna dan Kata Sandi.
Di kotak ODBCAdvanced, kotak tambahkan string ini ke nilai yang ada:
UID=user_name;PWD=password.
Ganti nama_pengguna dan sandi dengan nilai yang baru saja Anda hapus dari kotak Nama_Pengguna dan Kata Sandi.
- Tambahkan kode ini ke
OnClick
pengendali acara untukconnectButton
: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;
- Tambahkan kode ini ke
OnClick
pengendali acara untukexecuteButton
: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;
- Kompilasi dan jalankan aplikasi.
- Untuk menyambungkan ke sumber data Salesforce.com, pilih tombol Hubungkan. Untuk mengembalikan beberapa data dari tabel Akun, pilih tombol Jalankan.