Haskellから最新技術にアクセスする方法

Haskellからビジネス・ソフトウェアのデータにアクセスする方法

Ana NetoTechnical Leave a Comment

Haskellを使って、Microsoft Dynamics CRM、Microsoft Dynamics AX、Microsoft SharePoint、Microsoft Exchangeなどのビジネス・ソフトウェアに保存されているデータにアクセスできることをご存知でしたか?

本日は、レガシー・システムからターゲット・データ・ソースにアクセスする方法について説明する。 Connect Bridgeプラットフォーム.関数型言語であるHaskellと、データ操作によく知られたSQL構文を使用するODBCドライバを使ってデモを行う。

Connect Bridgeプラットフォームは、ODBC、JDBCドライバ、Webサービスを使用して、さまざまなターゲットシステムに接続できる強力な統合プラットフォームです。この組み合わせにより、レガシーシステムを含むあらゆる環境からの接続が可能になります。

環境設定

まず、コードを実行するための環境を準備する必要がある。これには3つの基本ステップがある:

    • 1.Connect Bridgeを取り付ける
    • 2.Haskell環境の準備
    • 3.接続文字列の設定

Connect Bridgeの取り付け

Connect Bridgeの無料トライアルが可能なので、あなたの環境ですべてを試してみてから、自分に合うかどうかを判断することができる。

まずは無料トライアルをお申し込みください。 此処.24時間以内にお返事いたします。 ビデオ.

Haskell環境を準備する

Haskellを動作させる最も簡単な方法は、以下の指示に従うことである。 https://www.haskell.org/get-started/

インストール後、Haskell ODBCドライバをインストールする必要があります。コマンドラインで

キャベラルアップデート
cabal install HDBC-odbc

この後、Haskell環境は完全に準備されているはずです。

接続文字列を探す

このサンプルでは、Connect BridgeのODBCドライバを使用します。 あらかじめ設定されている接続文字列ターゲットシステムを知っておく必要があります。ダウンロードしたConnect Bridge PlaygroundのQueryAnalyzerツールを開きます。接続ブラウザで単一の接続を選択し、右クリックして、接続の編集を選択します。詳細]タブに移動し、接続文字列をコピーします。

提供されているCB_HaskellSample.hsファイルを開き、7行目にサンプルの接続文字列の代わりにあなたの接続文字列を配置します。

コード

Connect Bridge Serverを使用してConnect Bridge Serverにアクセスするには、パッケージをインポートする必要があります。

import Database.HDBC
import Database.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でデータを照会して結果を処理する方法を示すサンプル関数を作ってみました。

executeQuery :: IO ( )
executeQuery = do
{
    putStr 'Enter query.' ;
    query <- getLine .
    putStrLn 'Connecting to Connect Bridge Server ...' .
    conn <- connectODBC connectionString.
    putStrLn ( 'Executing query '' ++ query ++ ''' ) .
    vals <- quickQuery conn query [ ] .
    putStrLn ( '返却された行数 ' ++ show ( length vals ) ) .
    putStrLn ( convertResultSetToString vals )
}

コードを呼び出す

サンプルを実行するには、パッケージに付属しているWinGHCiなどのHaskellインタープリタを使用することができます。

提供されたファイルを開く 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' を渡します。オプションで、結果をCSVファイルに書き出す関数csvExportQueryを呼び出すことができます。

クエリを入力します。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),Haskell 5からのハローワールド,2014-08-15 13:12:39
account(168f7ecb-7d24-e411-a6b7-00155dc2040f),Haskell 4からのハローワールド,2014-08-15 13:12:29
account(158f7ecb-7d24-e411-a6b7-00155dc2040f),Haskell 3からのハローワールド,2014-08-15 13:12:24
account(a2079fc4-7d24-e411-a6b7-00155dc2040f),Haskell 2からのハローワールド,2014-08-15 13:12:18
account(a1079fc4-7d24-e411-a6b7-00155dc2040f),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.