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.
El controlador ODBC de Salesforce.com le permite trabajar con datos de Salesforce.com en aplicaciones de Embarcadero Delphi.
El controlador ODBC de Salesforce.com está disponible para descargar desde el sitio web de Easysoft:
- Descargue el controlador ODBC de Windows Salesforce.com. (Es necesario registrarse).
- Instale y obtenga la licencia del controlador ODBC de Salesforce.com en la máquina donde está instalado.
Para obtener instrucciones de instalación, consulte la documentación del controlador ODBC de Salesforce.com.
Antes de poder utilizar el controlador ODBC de Salesforce.com para conectar Delphi a Salesforce.com, debe configurar una fuente de datos ODBC. Una fuente de datos ODBC almacena los detalles de conexión para la base de datos de destino (p. ej., Salesforce.com) y el controlador ODBC necesario para conectarse (p. ej., el controlador ODBC de Salesforce.com).
Vamos a crear una aplicación Delphi de 32 bits, por lo que usaremos la versión de 32 bits del Administrador ODBC (%WINDIR%\SysWOW64\odbcad32.exe) para configurar nuestra fuente de datos.
Para crear una fuente de datos del controlador ODBC de Salesforce.com:
- Haga uno de lo siguiente:
- Para crear una fuente de datos de usuario, en la pestaña DSN de usuario, elija Agregar.
–O–
- Para crear una fuente de datos del sistema, elija la pestaña DSN del sistema y luego elija Agregar.
- Para crear una fuente de datos de usuario, en la pestaña DSN de usuario, elija Agregar.
- En el cuadro de diálogo Crear nueva fuente de datos, seleccione Easysoft ODBC-Salesforce Driver y luego seleccione Finalizar.
- Complete el cuadro de diálogo Configuración de DSN del controlador Easysoft ODBC-Salesforce:
Configuración Valor DNS Salesforce.com Nombre de usuario El nombre de su usuario de Salesforce.com. Por ejemplo, [email protected]. Contraseña La contraseña de su usuario de Salesforce.com. Ficha El token de seguridad para su usuario de Salesforce.com, si es necesario. Para averiguar si necesita proporcionar un token de seguridad, elija el botón Probar. Si el intento de conexión falla con un error que contiene
LOGIN_MUST_USE_SECURITY_TOKEN
, debe proporcionar uno.Salesforce.com envía por correo electrónico el token de seguridad a la dirección de correo electrónico asociada con su cuenta de usuario de Salesforce.com. Si no ha recibido un token de seguridad, puede regenerarlo. Salesforce.com luego le enviará por correo electrónico el nuevo token de seguridad. Para regenerar su token de seguridad, inicie sesión en Salesforce.com y luego seleccione Configuración en el menú de usuario. Busque "token de seguridad" en el cuadro Búsqueda rápida. Haga clic en Restablecer token de seguridad en la página Restablecer token de seguridad. Cuando reciba el token en su cliente de correo electrónico, cópielo y luego péguelo en el campo Token.
- Utilice el botón Probar para verificar que puede conectarse con éxito a Salesforce.com.
Siga estos pasos para consultar algunos datos de Salesforce.com desde una aplicación Delphi.
- En un nuevo proyecto de Delphi, agregue un formulario
- Agregue dos controles TButton, llamados "executeButton" y "connectButton". Establecer el
Text
propiedades de los botones para "Ejecutar" y "Conectar". - Establecer
Enabled
propiedad deexecuteButton
aFalse
. - Agregue un control TMemo llamado "outputMemo".
- Agregue un componente TFDConnection. Haga doble clic en este componente.
Se muestra el cuadro de diálogo Editor de conexión FireDAC.
- En la lista de ID de controlador, elija ODBC.
- Elija el botón Asistente. Elija su fuente de datos de Salesforce en la pestaña Fuentes de datos de la máquina, cuando se le solicite.
- En el cuadro de diálogo Editor de conexión FireDAC, elimine los valores de los cuadros Nombre de usuario y Contraseña.
En el cuadro ODBCAdvanced, agregue esta cadena al valor existente:
UID=user_name;PWD=password.
Reemplazar nombre_de_usuario y contraseña con los valores que acaba de eliminar de los cuadros User_Name y Password.
- Agregue este código a
OnClick
controlador de eventos paraconnectButton
: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;
- Agregue este código a
OnClick
controlador de eventos paraexecuteButton
: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 y ejecuta la aplicación.
- Para conectarse a la fuente de datos de Salesforce.com, elija el botón Conectar. Para devolver algunos datos de la tabla Cuenta, seleccione el botón Ejecutar.