Database
 sql >> Base de données >  >> RDS >> Database

Salesforce SOQL de Java

Le pilote ODBC Salesforce étend le nombre d'applications à partir desquelles vous pouvez utiliser Salesforce SOQL. Dans ce blog, nous décrivons comment exécuter des instructions SOQL à partir de Java à l'aide du pilote ODBC Salesforce sous notre pont JDBC-ODBC, connecteur Java vers ODBC.

Pour commencer :

  • Installez et autorisez le pilote ODBC Salesforce.com sur la machine sur laquelle le serveur JDBC-ODBC Bridge est installé.

Avant de pouvoir utiliser le pilote ODBC Salesforce.com pour connecter votre application à Salesforce.com, vous devez configurer une source de données ODBC. Une source de données ODBC stocke les détails de connexion pour la base de données cible (par exemple, Salesforce.com) et le pilote ODBC requis pour s'y connecter (par exemple, le pilote ODBC Salesforce.com).

  1. Démarrez l'administrateur ODBC. Pour ce faire, dans la boîte de dialogue Exécuter de Windows, saisissez :
    %windir%\syswow64\odbcad32.exe
  2. Dans l'administrateur ODBC, choisissez l'onglet DSN système, puis choisissez Ajouter.
  3. Dans la boîte de dialogue Créer une nouvelle source de données, choisissez Pilote ODBC Easysoft Salesforce SOQL, puis choisissez Terminer.
  4. Renseignez la boîte de dialogue Configuration du DSN du pilote SOQL ODBC d'Easysoft Salesforce :
    Paramètre Valeur
    DSN Salesforce.com
    Nom d'utilisateur Le nom de votre utilisateur Salesforce.com. Par exemple, [email protected].
    Mot de passe Le mot de passe de votre utilisateur Salesforce.com.
    Jeton Le jeton de sécurité de votre utilisateur Salesforce.com, si nécessaire.

    Pour savoir si vous devez fournir un jeton de sécurité, choisissez le bouton Tester. Si la tentative de connexion échoue avec une erreur contenant LOGIN_MUST_USE_SECURITY_TOKEN , vous devez en fournir un.

    Salesforce.com envoie le jeton de sécurité par e-mail à l'adresse e-mail associée à votre compte d'utilisateur Salesforce.com. Si vous n'avez pas reçu de jeton de sécurité, vous pouvez le régénérer. Salesforce.com vous enverra ensuite le nouveau jeton de sécurité par e-mail. Pour régénérer votre jeton de sécurité, connectez-vous à Salesforce.com, puis choisissez Configuration dans le menu utilisateur. Recherchez « jeton de sécurité » dans la case Recherche rapide. Cliquez sur Réinitialiser le jeton de sécurité dans la page Réinitialiser le jeton de sécurité. Lorsque vous recevez le jeton dans votre client de messagerie, copiez-le, puis collez-le dans le champ Jeton.

  5. Utilisez le bouton Tester pour vérifier que vous pouvez vous connecter avec succès à Salesforce.com.
  6. Téléchargez le pont Easysoft JDBC-ODBC. (Inscription requise.)
  7. Installez et autorisez Easysoft JDBC-ODBC Bridge sur la machine sur laquelle vous avez créé la source de données.

    Pour obtenir des instructions d'installation, consultez la documentation Easysoft JDBC-ODBC Bridge.

Utilisation de Salesforce SOQL depuis Java

  1. Copiez EJOB.jar sur une machine sur laquelle un kit de développement Java est installé.

    Si le pont Easysoft JDBC-ODBC est déjà installé sur cette machine, ignorez cette étape.

    EJOB.jar est installé à l'emplacement suivant sur la machine sur laquelle vous installez le pont Easysoft JDBC-ODBC :

    <easysoft_install>\Jars

    L'emplacement par défaut pour est <drive>:\Program Files (x86)\Easysoft Limited\Easysoft JDBC-ODBC Bridge .

  2. Ajoutez ce code Java à un fichier nommé ConnectToSalesforce.java :
    import java.sql.*;
    import java.util.Properties;
    
    public class ConnectToSalesforce {
    
       public static void main(String[] args) {
    
          // Replace the <mydsn> value with your 32-bit Salesforce DSN.
          // If the JDBC-ODBC Bridge Server (JOB) is not located on the same machine as
          // ejob.jar replace localhost with the remote host name or IP address.
          // The :logonuser attribute value is a Windows user on the machine where
          // the JOB Server is running.
          String connectionUrl = "jdbc:easysoft://localhost/<mydsn>" +
             ":logonuser=mywindowsuser:logonpassword=mywindowspassword";
    
          Driver driver = null;
          DriverPropertyInfo props[] = null;
          Connection con = null;
          Statement stmt = null;      
          ResultSet rs = null;
    
          try {
           // Register the Easysoft JDBC-ODBC Bridge client.
           Class.forName("easysoft.sql.jobDriver");
           driver = DriverManager.getDriver(connectionUrl);
    
           con = DriverManager.getConnection(connectionUrl);
    
           stmt = con.createStatement();
    
           // You need to edit this query
           rs = stmt.executeQuery("SELECT Account.Name, (SELECT Contact.LastName FROM Account.Contacts) FROM Account");
    
           System.out.print("Name LastName" + "\n");
           
           while (rs.next()) {
               String n = rs.getString("Name");
               String l = rs.getString("LastName");
               System.out.print(n + " " + l + "\n");
           }
    
           rs.close();
           rs = null;
           stmt.close();
           stmt = null;
           con.close(); // Return to connection pool
           con = null;  // Make sure we do not close it twice	 
    
          }
    
          // Handle any errors that may have occurred.
          catch (Exception e) {
              e.printStackTrace();
          }
          finally {
              if (rs != null) try { rs.close(); } catch(Exception e) {}
              if (con != null) try { con.close(); } catch(Exception e) {}
          }
       }
    }
    
  3. Dans une fenêtre de commande, ajoutez EJOB.jar au chemin de classe Java. Par exemple :
    set CLASSPATH="%CLASSPATH%;C:\Program Files (x86)\Easysoft Limited\Easysoft JDBC-ODBC Bridge\Jars\EJOB.jar"
  4. cd dans le répertoire où se trouve ConnectToSalesforce.java, puis compilez et exécutez le fichier Java. Par exemple :
    "C:\Program Files\Java\jdk1.8.0_144\bin\javac.exe" ConnectToSalesforce.java
    java ConnectToSalesforce
    Name LastName
    GenePoint Ltd Frank
    United Oil & Gas, UK James
    United Oil & Gas, Singapore D'Cruz
    United Oil & Gas, Singapore Ripley