Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Kết nối Delphi với Salesforce.com

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.

Trình điều khiển ODBC của Salesforce.com cho phép bạn làm việc với dữ liệu của Salesforce.com trong các ứng dụng Embarcadero Delphi.

Trình điều khiển ODBC Salesforce.com có ​​sẵn để tải xuống từ trang web Easysoft:

  1. Tải xuống Trình điều khiển ODBC Windows Salesforce.com. (Cần đăng ký.)
  2. Cài đặt và cấp phép cho Trình điều khiển ODBC Salesforce.com trên máy được cài đặt.

    Để biết hướng dẫn cài đặt, hãy xem tài liệu Trình điều khiển ODBC của Salesforce.com.

Trước khi bạn có thể sử dụng Trình điều khiển ODBC của Salesforce.com để kết nối Delphi với Salesforce.com, bạn cần định cấu hình nguồn dữ liệu ODBC. Nguồn dữ liệu ODBC lưu trữ chi tiết kết nối cho cơ sở dữ liệu đích (ví dụ:Salesforce.com) và trình điều khiển ODBC được yêu cầu để kết nối với nó (ví dụ:trình điều khiển ODBC Salesforce.com).

Chúng tôi sẽ tạo một ứng dụng Delphi 32-bit, vì vậy chúng tôi sử dụng phiên bản 32-bit của Quản trị viên ODBC (% WINDIR% \ SysWOW64 \ odbcad32.exe) để định cấu hình nguồn dữ liệu của chúng tôi.

Để tạo nguồn dữ liệu Trình điều khiển ODBC Salesforce.com:

  1. Thực hiện một trong các thao tác sau:
    • Để tạo nguồn dữ liệu Người dùng, trong tab DSN Người dùng, hãy chọn Thêm.

      –Hay–

    • Để tạo nguồn dữ liệu Hệ thống, hãy chọn tab DSN Hệ thống, sau đó chọn Thêm.
  2. Trong hộp thoại Tạo Nguồn Dữ liệu Mới, hãy chọn Trình điều khiển ODBC-Salesforce của Easysoft, rồi chọn Kết thúc.
  3. Hoàn thành hộp thoại Thiết lập Easysoft ODBC-Salesforce Driver DSN:
    Setting Giá trị
    DSN Salesforce.com
    Tên người dùng Tên của người dùng Salesforce.com của bạn. Ví dụ:[email protected].
    Mật khẩu Mật khẩu cho người dùng Salesforce.com của bạn.
    Mã thông báo Mã thông báo bảo mật cho người dùng Salesforce.com của bạn, nếu được yêu cầu.

    Để tìm hiểu xem bạn có cần cung cấp mã thông báo bảo mật hay không, hãy chọn nút Kiểm tra. Nếu nỗ lực kết nối không thành công với lỗi chứa LOGIN_MUST_USE_SECURITY_TOKEN , bạn cần cung cấp một cái.

    Salesforce.com gửi mã thông báo bảo mật qua email đến địa chỉ email được liên kết với tài khoản người dùng Salesforce.com của bạn. Nếu bạn chưa nhận được mã thông báo bảo mật, bạn có thể tạo lại nó. Sau đó, Salesforce.com sẽ gửi mã thông báo bảo mật mới qua email cho bạn. Để tạo lại mã thông báo bảo mật của bạn, hãy đăng nhập vào Salesforce.com, sau đó chọn Thiết lập từ menu người dùng. Tìm kiếm "mã thông báo bảo mật" trong hộp Tìm nhanh. Nhấp vào Đặt lại Mã thông báo Bảo mật trong trang Đặt lại Mã thông báo Bảo mật. Khi bạn nhận được mã thông báo trong ứng dụng email của mình, hãy sao chép nó rồi dán vào trường Mã thông báo.

  4. Sử dụng nút Kiểm tra để xác minh rằng bạn có thể kết nối thành công với Salesforce.com.

Làm theo các bước sau để truy vấn một số dữ liệu Salesforce.com từ ứng dụng Delphi.

  1. Trong một dự án Delphi mới, hãy thêm một biểu mẫu
  2. Thêm hai điều khiển TButton, có tên là "executeButton" và "connectButton". Đặt Text thuộc tính của các nút thành "Thực thi" và "Kết nối".
  3. Đặt Enabled thuộc tính của executeButton thành False .
  4. Thêm điều khiển TMemo có tên "outputMemo".
  5. Thêm thành phần Kết nối TFDC. Bấm đúp vào thành phần này.

    Hộp thoại Trình chỉnh sửa kết nối FireDAC được hiển thị.

  6. Trong danh sách ID trình điều khiển, hãy chọn ODBC.
  7. Chọn nút Trình hướng dẫn. Chọn nguồn dữ liệu Salesforce của bạn từ tab Nguồn dữ liệu máy, khi được nhắc.
  8. Trong hộp thoại Trình chỉnh sửa kết nối FireDAC, xóa các giá trị khỏi hộp Tên_người và Mật khẩu.

    Trong hộp ODBCAdvanced, hãy nối chuỗi này vào giá trị hiện có:

    UID=user_name;PWD=password.
    

    Thay thế user_name mật khẩu với các giá trị bạn vừa xóa khỏi hộp Tên_người và Mật khẩu.

  9. Thêm mã này vào OnClick trình xử lý sự kiện cho connectButton :
    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;
    
  10. Thêm mã này vào OnClick trình xử lý sự kiện cho executeButton :
    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;
    
  11. Biên dịch và chạy ứng dụng.
  12. Để kết nối với nguồn dữ liệu Salesforce.com, hãy chọn nút Kết nối. Để trả lại một số dữ liệu từ bảng Tài khoản, hãy chọn nút Thực thi.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mô hình dữ liệu

  2. Tạo và triển khai nhiều phiên bản cơ sở dữ liệu thông qua ảnh chụp nhanh lược đồ

  3. Giám sát Nhật ký Giao dịch

  4. Xem thông số, nhúng và các tùy chọn RECOMPILE

  5. Khi DISTINCT <> GROUP BY