Saviez-vous que vous pouviez utiliser Haskell pour accéder aux données stockées dans des logiciels d'entreprise tels que Microsoft Dynamics CRM, Microsoft Dynamics AX, Microsoft SharePoint, Microsoft Exchange et bien d'autres ?
Aujourd'hui, je décrirai comment accéder aux sources de données cibles à partir de systèmes existants à l'aide de la fonction Plate-forme Connect Bridge. J'en ferai la démonstration en utilisant le langage fonctionnel Haskell et le pilote ODBC en utilisant la syntaxe SQL bien connue pour la manipulation des données.
La plate-forme Connect Bridge est une plate-forme d'intégration puissante qui vous permet de vous connecter à différents systèmes cibles à l'aide de pilotes ODBC, JDBC et de services web. Cette combinaison vous permet de vous connecter à partir de n'importe quel environnement, y compris les systèmes existants.
Configuration de l'environnement
Tout d'abord, nous devons préparer l'environnement pour exécuter le code. Cela comprend trois étapes de base :
-
- 1. Installer le Connect Bridge
-
- 2. Préparer l'environnement Haskell
-
- 3. Configurer la chaîne de connexion
Installer Connect Bridge
Il est possible d'obtenir une version d'essai gratuite de Connect Bridge afin d'essayer tout cela dans votre environnement et de décider ensuite si cela vous convient.
Commencez par demander un essai gratuit ici. Nous vous répondrons dans les 24 heures ouvrables, et vous pourrez alors procéder à l'installation comme décrit dans cette brève description. vidéo.
Préparer l'environnement Haskell
La manière la plus simple de faire fonctionner Haskell est de suivre les instructions à l'adresse suivante https://www.haskell.org/get-started/
Après l'installation, vous devrez installer le pilote ODBC Haskell. Dans la ligne de commande, exécutez :
mise à jour de cabal
cabal install HDBC-odbc
Après cela, votre environnement Haskell devrait être parfaitement préparé.
Trouver la chaîne de connexion
Dans notre exemple, nous utiliserons le pilote ODBC avec Connect Bridge. Vous devrez connaître la chaîne de connexion du système cible qui a été préconfigurée pour vous. Ouvrez l'outil QueryAnalyzer de Connect Bridge Playground, que vous avez téléchargé. Sélectionnez une connexion unique dans le navigateur de connexions, faites un clic droit et choisissez Modifier la connexion. Allez dans l'onglet Avancé et copiez la chaîne de connexion.
Ouvrez le fichier CB_HaskellSample.hs fourni et placez votre chaîne de connexion à la place de celle de l'exemple à la ligne 7.
Code
Pour accéder au serveur Connect Bridge en utilisant, vous devez importer des paquets :
Base de données des importations.HDBC Base de données des importations.HDBC.ODBC
Pour établir la connexion de la base de données au serveur Connect Bridge, vous pouvez utiliser la fonction connectODBC :
conn <- connectODBC 'yourConnectionString';
Pour exécuter une requête qui ne produit pas de résultats, vous pouvez appeler :
Exécutez le lien "INSÉRER DANS LE COMPTE (nom) VALEURS ("Bonjour le monde de Haskell")".
Pour exécuter une requête avec un ensemble de résultats, vous pouvez appeler :
quickQuery conn 'SÉLECTIONNEZ le compte, nom du compte' []
J'ai créé un exemple de fonction qui montre comment interroger les données et traiter les résultats dans Haskell :
executeQuery : : IO ( ) executeQuery = do { putStr 'Enter query : ' ; query <- getLine ; putStrLn 'Connexion au serveur Connect Bridge ...' ; conn <- connectODBC connectionString ; putStrLn ('Exécution de la requête '' ++ requête ++ ''' ) ; vals <- quickQuery conn query [ ] ; putStrLn ('Nombre de lignes retournées' ++ show ( longueur vals ) ) ; putStrLn ( convertResultSetToString vals ) }
Appeler le code
Pour exécuter l'échantillon, vous pouvez utiliser n'importe quel interprète Haskell, par exemple WinGHCi qui est fourni avec le paquet.
Ouvrez le fichier fourni CB_HaskellSample.hs avec une chaîne de connexion déjà modifiée.
Il suffit de taper le nom de la fonction que vous souhaitez appeler. Vous serez invité à entrer les paramètres de saisie.
Exemple 1 :
Cet exemple montre comment créer un nouveau compte dans Dynamics CRM à partir de Haskell. Il suffit d'appeler une fonction executeQuery et de passer la requête SQL 'INSERT INTO compte (nom) VALUES ('Hello world from Haskell')comme requête. Ceci créera immédiatement un nouvel enregistrement de compte dans votre Dynamics CRM.
*Main> executeQuery
Entrez la requête : INSERT INTO compte (nom) VALUES ('Hello world from Haskell')
Connexion au serveur Connect Bridge ...
Exécution de la requête "INSERT INTO account (name) VALUES ('Hello world from Haskell')".
Nombre de lignes retournées 0
Exemple 2 :
Cet exemple montre comment extraire 5 comptes les plus récents de Dynamics CRM. Appelez la fonction executeQuery et passez la requête SQL 'SELECT TOP 5 accounttid, name, createdon FROM account ORDER BY createdon'. En option, vous pouvez appeler la fonction csvExportQuery qui écrira les résultats dans un fichier CSV.
Entrez la requête : SÉLECTIONNER LE TOP 5 compte, nom, créé sur le compte ORDONNÉ PAR le DESC
Connexion au serveur Connect Bridge ...
Exécution de la requête "SELECT TOP 5 accounttid, name, createdon FROM account ORDER BY createdon DESC".
Nombre de lignes retournées 5
account(e436e4d4-7d24-e411-a6b7-00155dc2040f),Hello world from Haskell 5,2014-08-15 13:12:39
compte(168f7ecb-7d24-e411-a6b7-00155dc2040f),Bonjour le monde de Haskell 4,2014-08-15 13:12:29
account(158f7ecb-7d24-e411-a6b7-00155dc2040f),Hello world from Haskell 3,2014-08-15 13:12:24
account(a2079fc4-7d24-e411-a6b7-00155dc2040f),Hello world from Haskell 2,2014-08-15 13:12:18
account(a1079fc4-7d24-e411-a6b7-00155dc2040f),Hello world from Haskell 1,2014-08-15 13:12:12
Conclusion
J'ai démontré comment vous pouvez facilement accéder à Microsoft Dynamics CRM depuis Haskell avec quelques lignes de code. Le même petit effort permet d'accéder à d'autres systèmes, par exemple SharePoint, Exchange, AX, Navision, et Salesforce ...
La liste complète des connecteurs est disponible à l'adresse suivante https://www.connecting-software.com/connectors/). De plus, vous pouvez accéder à n'importe lequel de ces systèmes à partir de n'importe quelle langue, avec le même petit effort que celui décrit dans cet article.
Si vous avez apprécié cet article, obtenez votre essai gratuit de Connect Bridge et commencez à jouer avec dès aujourd'hui !
Article original et code par Tomas Olejnik, Dec 10, 2015
Dernière mise à jour le 4 mai 2023