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

如何从 Haskell 访问商业软件数据

Ana NetoTechnical Leave a Comment

您知道可以使用 Haskell 访问存储在 Microsoft Dynamics CRM、Microsoft Dynamics AX、Microsoft SharePoint、Microsoft Exchange 等商业软件中的数据吗?

今天,我将介绍如何从遗留系统中使用 Connect Bridge平台.我将使用函数式语言 Haskell 和 ODBC 驱动程序(使用众所周知的 SQL 语法进行数据操作)进行演示。

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

环境设置

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

    • 1.安装 Connect Bridge
    • 2.准备Haskell环境
    • 3.配置连接字符串

安装 Connect Bridge

您可以获得 Connect Bridge 的免费试用版,这样您就可以在自己的环境中试用这一切,然后决定是否适合自己。

首先,您应该申请免费试用 此处.我们将在 24 个工作小时内给您回复,然后您就可以按照本简短说明进行安装了。 视频.

准备 Haskell 环境

要让 Haskell 正常工作,最简单的方法是按照以下网址的说明进行操作 https://www.haskell.org/get-started/

安装完成后,您需要安装 Haskell ODBC 驱动程序。在命令行中运行

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

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

查找连接字符串

在示例中,我们将使用 Connect Bridge 的 ODBC 驱动程序。 您需要知道为您预配置的目标系统连接字符串。打开从 Connect Bridge Playground 下载的 QueryAnalyzer 工具。在 "连接浏览器 "中选择一个连接,右击并选择 "编辑连接"。转到高级选项卡并复制连接字符串。

打开提供的 CB_HaskellSample.hs 文件,在第 7 行放置您的连接字符串,而不是示例连接字符串。

编码

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

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

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

涵养 <- 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:

这个例子展示了如何从Haskell中创建Dynamics CRM的新账户。只需调用一个函数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 轻松访问 Microsoft Dynamics CRM。同样的小努力也可以访问其他系统,如 SharePoint、Exchange、AX、Navision 和 Salesforce ...

连接器的完整列表见 https://www.connecting-software.com/connectors/).此外,您还可以从任何语言访问这些系统,只需像本文中描述的那样稍加努力即可。

如果您喜欢这篇文章,请获取 免费试用Connect Bridge 并从今天开始使用它!

原文及代码:Tomas Olejnik,2015 年 12 月 10 日

最后更新于 2023 年 5 月 4 日

发表回复

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

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.