如何从Haskell中获取最新技术?

如何从Haskell中获取最新技术?

Tomas OlejnikTechnical Leave a Comment

你能想象如何从一些遗留系统或外来的编程语言连接到最新的商业软件,如微软Dynamics CRM、微软Dynamics AX、微软SharePoint、微软Exchange等吗?今天我将介绍如何使用Connect Bridge平台从遗留系统访问目标数据源。我将使用功能语言--Haskell和ODBC驱动,使用众所周知的SQL语法进行数据操作来演示。

Connect Bridge平台是一个强大的集成平台,允许您使用ODBC、JDBC驱动程序和Web服务连接到最新的系统。这种组合使您能够从任何环境,包括传统系统进行连接。

环境设置

首先我们需要准备运行代码的环境。这包括3个基本步骤。

      1.创建Connect Bridge操场
      2.准备Haskell环境
      3.配置连接字符串

创建Connect Bridge游乐场

在Dynamics CRM、SharePoint和Exchange的试用版中,有可能获得免费的演示账户Connect Bridge Playground。您需要访问 CB游乐场页面 并按照指示获得访问权限。

申请后几分钟,您将收到一封包含下载链接的电子邮件。请您仔细阅读邮件或访问公司网页,以便更好地了解Connect Bridge解决方案。

下载软件包并解压。使用根目录下的批处理文件启动QueryAnalyzer工具。你会看到预配置的CRM、SharePoint和Exchange的连接。随意玩弄QueryAnalyzer工具,使用SQL查询触摸目标系统。

准备Haskell环境

配置软件包的最简单方法是下载并安装完整的Haskell Platform (https://www.haskell.org/platform/windows.html).

安装完成后需要进行额外的配置--我们需要安装Haskell ODBC驱动。在命令行中运行。

阴谋组织的最新情况
cabal安装HDBC-odbc

在这之后,你的Haskell环境应该已经完全准备好了。

查找连接字符串

在我们的示例中,我们将使用ODBC驱动来连接Connect Bridge服务器。 对于这一点,你将需要知道你的连接字符串的目标系统,已经为你预先配置。打开QueryAnalyzer工具从Connect Bridge游乐场,你已经下载。在连接浏览器中选择单个连接,右键单击并选择编辑连接。进入 "高级 "选项卡,复制连接字符串。

打开提供的CB_HaskellSample.hs文件,并将你的连接字符串放在第7行,而不是样本连接字符串。

编码

要使用Connect Bridge服务器访问,需要导入软件包。

导入数据库.HDBC
导入数据库.HDBC.ODBC

要与Connect Bridge服务器建立数据库连接,可以使用connectODBC功能。

conn <- connectODBC 'yourConnectionString';

要执行不产生结果的查询,可以调用。
 

run conn 'INSERT INTO account (name) VALUES ('Hello world from Haskell')'。

要执行带有结果集的查询,你可以调用。
 

quickQuery conn 'SELECT accountid, name FROM account' [] 。

我创建了一个示例函数来演示如何在 Haskell 中查询数据和处理结果。

执行查询 :: IO ( )
executeQuery = do
{
    putStr '输入查询。' ;
    query <- getLine ;
    putStrLn '连接到Connect Bridge服务器......' 。
    conn <- connectODBC connectionString;
    putStrLn ( '执行查询 '' ++ query ++ ''') 。
    vals <- quickQuery conn query [ ] ;
    putStrLn ( '返回的行数' ++ show ( length vals ) ) 。
    读取数据时,必须要有足够的时间,否则就会出现错误。
}

 

呼叫代码

要运行示例,你可以使用任何Haskell解释器,例如WinGHCi,它是随包附带的。

打开提供的文件 CB_HaskellSample.hs。 与已经修改的连接字符串。

只需输入你要调用的函数名称。你会被提示输入输入参数。

例1:

这个例子展示了如何在Dynamics CRM中用Haskell创建新账户。只需调用一个函数executeQuery并传递SQL查询'。INSERT INTO account (name) VALUES ('Hello world from Haskell')'作为查询。这将在您的Dynamics CRM中立即创建新的账户记录。

*Main> executeQuery

进入查询。INSERT INTO account (name) VALUES ('Hello world from Haskell')

连接Connect Bridge服务器......

执行查询'INSERT INTO account (name) VALUES ('Hello world from Haskell')'。

返回的行数为0

例2:

本例展示了如何从Dynamics CRM中获取5个最新的账户。调用函数executeQuery并传递SQL查询 "SELECT TOP 5 accountid, name, createdon FROM account ORDER BY createdon"。也可以调用函数csvExportQuery将结果写入CSV文件。

输入查询。SELECT TOP 5 accountid, name, createdon FROM account ORDER BY createdon DESC.
连接Connect Bridge服务器......
执行查询 "SELECT TOP 5 accountid, name, createdon FROM account ORDER BY createdon DESC"。
返回的行数 5
account(e436e4d4-7d24-e411-a6b7-00155dc2040f),Hello world from Haskell 5,2014-08-15 13:12:39。
account(168f7ecb-7d24-e411-a6b7-00155dc2040f),Hello world from 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。

结论
我已经演示了如何用几行代码就能轻松地从Haskell访问Dynamics CRM。同样的小努力是访问其他系统,如SharePoint,Exchange,AX,Navision,Salesforce......(见。 完整的连接器列表。(https://test.connecting-software.com/connect-bridge/).此外,你可以从任何语言访问任何这些系统,并在本文中描述的相同的小努力。

如果你喜欢这篇文章,今天就免费领取Connect Bridge环境,开始玩吧!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注