Знаете ли вы, что с помощью языка Haskell можно получить доступ к данным, хранящимся в таких программах для бизнеса, как Microsoft Dynamics CRM, Microsoft Dynamics AX, Microsoft SharePoint, Microsoft Exchange и многих других?
Сегодня я расскажу о том, как можно получить доступ к целевым источникам данных из унаследованных систем с помощью платформа 1ТП16Т. Я продемонстрирую это на примере функционального языка Haskell и драйвера ODBC, использующего известный синтаксис SQL для работы с данными.
Платформа Connect Bridge представляет собой мощную интеграционную платформу, позволяющую подключаться к различным целевым системам с помощью драйверов ODBC, JDBC и веб-сервисов. Такое сочетание позволяет подключаться из любой среды, включая устаревшие системы.
Окружающая среда
Во-первых, необходимо подготовить среду для выполнения кода. Это включает в себя 3 основных этапа:
-
- 1. Установите Connect Bridge
-
- 2. Подготовить среду Хаскелла
-
- 3. Настроить строку соединения
Установить Connect Bridge
Есть возможность получить бесплатную пробную версию Connect Bridge, чтобы попробовать все это в своей среде и затем решить, подходит ли это вам.
Для начала следует запросить бесплатную пробную версию здесь. Мы свяжемся с вами в течение 24 рабочих часов, после чего вы сможете приступить к установке, как описано в этом кратком описании видео.
Подготовка среды Haskell
Самый простой способ заставить Haskell работать - это следовать инструкциям на сайте https://www.haskell.org/get-started/
После установки необходимо установить ODBC-драйвер Haskell. В командной строке выполните команду:
групповое обновление
установка кабеля HDBC-odbc
После этого ваше окружение Хаскелла должно быть полностью подготовлено.
Найти строку подключения
В нашем примере мы будем использовать драйвер ODBC с номером Connect Bridge. Вам потребуется знать целевую строку подключения, которая была предварительно сконфигурирована для вас. Откройте загруженный вами инструмент QueryAnalyzer из пакета Connect Bridge Playground. Выберите одно соединение в обозревателе соединений, щелкните правой кнопкой мыши и выберите пункт Редактировать соединение. Перейдите на вкладку Advanced и скопируйте строку соединения.
Откройте предоставленный файл CB_HaskellSample.hs и поместите свою строку подключения вместо строки подключения примера в строку 7.
Код
Для доступа к серверу Connect Bridge с помощью которого необходимо импортировать пакеты:
импорт Базы данных.HDBC импорт Базы данных.HDBC.ODBC
Для установления соединения базы данных с сервером Connect Bridge можно использовать функцию connectODBC:
соединение <- connectODBC 'yourConnectionString';
Для выполнения запроса, не дающего результатов, можно позвонить:
запустите Conn 'INSERT INTO account (name) VALUES ('Hello world from Haskell')'.
Для выполнения запроса с полученным набором результатов можно позвонить:
Быстрый запрос "ВЫБРАТИТЬ подотчётность, имя СВОЕГО счёта" []
Я создал функцию-пример, которая демонстрирует, как запрашивать данные и обрабатывать результаты в Haskell:
executionQuery :: IO ( ) executionQuery = do { putStr 'Введите запрос: ' ; запрос <- getLine ; putStrLn 'Подключение к серверу Connect Bridge ...' ; connect <- connectODBC connectionString; putStrLn ( 'Выполнение запроса '' ++ запрос ++ '') ; vals <- быстрый запрос на подключение к серверу <- ; putStrLn ( 'Возвращаемое количество строк ' ++ show ( length vals ) ) ; putStrLn ( convertResultSetToString vals ) }
Называя Кодекс
Для запуска примера вы можете использовать любой интерпретатор Haskell, например, WinGHCi, который поставляется с пакетом.
Открыть предоставленный файл CB_HaskellSample.hs с уже измененной строкой соединения.
Просто введите имя функции, которую вы хотите вызвать. Вам будет предложено ввести входные параметры.
Пример 1:
Этот пример показывает, как создать новую учетную запись в Dynamics CRM на языке Haskell. Просто вызовите функцию executeQuery и передайте SQL-запрос 'INSERT INTO account (name) VALUES ('Hello world from Haskell')' в качестве запроса. Это сразу же создаст новую учетную запись в вашей Dynamics CRM.
*Main> executionQuery
Введите запрос: INSERT INTO account (name) VALUES ('Hello world from Haskell')
Подключение к серверу Connect Bridge ...
Выполнение запроса 'INSERT INTO account (name) VALUES ('Hello world from Haskell')'
Количество возвращаемых строк 0
Пример 2:
В этом примере показано, как получить 5 самых новых учетных записей из Dynamics CRM. Вызовите функцию executeQuery и передайте SQL-запрос 'SELECT TOP 5 accountid, name, createdon FROM account ORDER BY createdon'. По желанию вы можете вызвать функцию csvExportQuery, которая запишет результаты в CSV-файл.
Введите запрос: ВЫБЕРИТЬ ТОП 5 подотчётность, имя, созданный от имени учётной записи ЗАКАЗЫВАЙТЕ ЗАКАЗЫВАЙТЕ, созданный DESC
Подключение к серверу Connect Bridge ...
Выполнение запроса 'SELECT TOP 5 accountid, name, createdon FROM account ORDER BY createdon DESC'
Количество возвращаемых строк 5
счет(e436e4d4-7d24-e411-a6b7-00155dc2040f), привет мир из Хаскелла 5,2014-08-15 13:12:39
счет(168f7ecb-7d24-e411-a6b7-00155dc2040f), привет мир из Хаскелла 4,2014-08-15 13:12:29
счет(158f7ecb-7d24-e411-a6b7-00155dc2040f), привет мир из Хаскелла 3,2014-08-15 13:12:24
счет(a2079fc4-7d24-e411-a6b7-00155dc2040f), Hello world from Haskell 2,2014-08-15 13:12:18
счет(a1079fc4-7d24-e411-a6b7-00155dc2040f), привет мир из Хаскелла 1,2014-08-15 13:12:12
Заключение
Я продемонстрировал, как можно легко получить доступ к Microsoft Dynamics CRM из языка Haskell с помощью нескольких строк кода. Такими же небольшими усилиями можно получить доступ к другим системам, например, SharePoint, Exchange, AX, Navision и Salesforce ...
Полный список разъемов приведен на сайте https://www.connecting-software.com/connectors/). Более того, вы можете получить доступ к любой из этих систем из любого языка, приложив те же небольшие усилия, что были описаны в этой статье.
Если вам понравилась эта статья, получите свой бесплатная пробная версия Connect Bridge и начните играть с ним уже сегодня!
Оригинальная статья и код Томаша Олейника, Dec 10, 2015
Последнее обновление - 4 мая 2023 г.