製品をチェック

無償トライアル:

無償トライアルへ

製品の情報と無償トライアルへ:

Dynamics CRM ODBC Driver

Dynamics CRM ODBC ドライバーは、ODBC 接続をサポートする任意のアプリケーションからリアルタイムなDynamics CRM アカウントデータに直接接続できるパワフルなツールです。標準のODBC ドライバーインターフェースを使用して、データベースのようにMicrosoft CRM データにアクセスし、潜在顧客、連絡先、営業案件、アカウントなどの読み、書き、更新を実行できます。

データ連携でお困りですか?

お問い合わせ

Linux 上でDynamics CRM にデータ連携するシンプルなGo アプリケーションを作成


CData ODBC Driver for DynamicsCRM とunixODBC を使って、Dynamics CRM に連携するGo アプリケーションを作成。


古川えりか
コンテンツスペシャリスト

dynamicscrm ロゴ画像

ODBC Driver

odbc ロゴ画像
Go ロゴ画像

こんにちは!コンテンツスペシャリストの古川です。Go はオープンソースのプログラミング言語で、高速かつ信頼性の高いソフトウェアを低コストで作成することができます。Go とODBC Driver for DynamicsCRM およびunixODBC を組み合わせて使うことで、Dynamics CRM データにリアルタイム連携するアプリケーションを作成できます。 本記事では、ODBC Driver for DynamicsCRM のインストール、unixODBC Driver Manager への設定、そしてDynamics CRM に連携するGo アプリケーションの作成までを説明します。

Linux マシンで CData ODBC Drivers を使用する

CData ODBC Drivers はUbuntu、Debian、RHEL、CentOS、およびFedora など多くのRed Hat ベースおよびDebian ベースのシステムでサポートされています。 ほかにもいくつかのライブラリやパッケージのインストールが必要ですが、すでにデフォルトでインストールされている場合もあります。詳細はオンラインおよびインストールされるヘルプドキュメントの「はじめに」のセクションを参照してください。

Driver Manager のインストール

ドライバーのインストール前にシステムにDriver Manager が入っているかを確認してください。本記事では無償のオープンソースDriver Manager であるunixODBC を使います

Ubuntu のようなDebian ベースのシステムでは、APT パッケージマネージャからunixODBC をインストールできます:

$ apt-get install unixODBC unixODBC-dev

Red Hat Linux ベースのシステムでは、yum もしくはdnf からunixODBC をインストールできます:

$ yum install unixODBC unixODBC-devel

unixODBC Driver Manager はDriver の情報をodbcinst.ini ファイルから読み、odbc.ini からデータソースの情報を読みます。 次のコマンドをターミナルに入力して、設定ファイルの配置場所を決めることができます:

$ odbcinst -j

コマンドのアウトプットでODBC データソースのコンフィギュレーションファイルと登録されたODBC Drver のロケーションを表示します。 ユーザーデータソースはodbc.ini ホームフォルダが位置するユーザーアカウントのみからアクセス可能です。システムデータソースはすべてのユーザーからアクセスできます。 このコマンドのアウトプット例は以下です:

DRIVERS............: /etc/odbcinst.ini SYSTEM DATA SOURCES: /etc/odbc.ini FILE DATA SOURCES..: /etc/ODBCDataSources USER DATA SOURCES..: /home/myuser/.odbc.ini SQLULEN Size.......: 8 SQLLEN Size........: 8 SQLSETPOSIROW Size.: 8

ドライバーのインストール

標準パッケージ形式でドライバーをダウンロードできます:Debian .deb package format もしくは、.rpm file format です。 ファイルをダウンロードしたら、ターミナルからドライバーをインストールします。

ドライバーインストーラーはドライバーをunixODBC に登録し、ODBC 接続をサポートするツールやアプリケーションから利用できるシステムDSN を作成します。T

Ubuntu のようなDebian ベースのシステムでは、sudo とともに次のコマンドを実行します: $ dpkg -i /path/to/package.deb

.rpms をサポートするシステムでは、sudo とともに次のコマンドを実行します: $ rpm -i /path/to/package.rpm

ドライバーのインストール後、unixODBC Driver Manager を使って、登録されたドライバーを表示し、データソースを定義することができます:

$ odbcinst -q -d CData ODBC Driver for DynamicsCRM ...

定義されたData Source の表示

$ odbcinst -q -s CData DynamicsCRM Source ...

unixODBC でCData ODBC Driver for DynamicsCRM を使用するには、ドライバーがUTF-8 を使用するように設定する必要があります。それには、通常はインストールフォルダのlib フォルダ(/opt/cdata/cdata-odbc-driver-for-dynamicscrm)に入っているドライバーのINI ファイル(cdata.odbc.dynamicscrm.ini)を次のように編集する必要があります:

cdata.odbc.dynamicscrm.ini

... [Driver] DriverManagerEncoding = UTF-16

DSN の変更

ドライバーがインストールされると、システムDSN が事前定義されます。システムDSN はシステムデータソースファイル(/etc/odbc.ini)を編集して必要な接続プロパティを定義します。 ユーザー単位のDSN を作成することも可能で、その際には$HOME/.odbc.ini へのアクセスと変更は必要ではありません。

Dynamics CRM では、インスタンスごとに接続文字列の設定が必要です。 Authentication セクションでは、有効なDynamics CRM のUser、Password の入力、およびDynamics CRM Server Organization root のURL を設定します。さらに、CRMVersion プロパティに、'CRM2011+' もしくは'CRMOnline' を設定します。IFD コンフィグレーションもサポートされていますので、InternetFacingDeployment をTRUE に設定してください。

また、Security Token Service(STS)、もしくはAD FS エンドポイントをSTSURL プロパティに設定することもできます。 この値はGetSTSUrl ストアドプロシージャで取得できます。 Office 365 ユーザーはデフォルトSTS URL にCRMVersion の設定だけで接続することができます。

/etc/odbc.ini or $HOME/.odbc.ini

[CData DynamicsCRM Source] Driver = CData ODBC Driver for DynamicsCRM Description = My Description User = myuseraccount Password = mypassword URL = https://myOrg.crm.dynamics.com/ CRM Version = CRM Online

これらのコンフィギュレーションファイルの使い方についての詳細は、インストールされるヘルプドキュメントを参照してください。

Dynamics CRM データに連携するGo アプリケーションサンプルの作成

Driver Manager のインストール、DSN 設定を終えたら、Dynamics CRM data に連携するGo アプリケーションを作成します。 まずはODBC データベース向けのGo ドライバーをインストールします。いくつかのオプションがありますが、本記事ではhttps://github.com/alexbrainman/odbc のODBC ドライバーを使います。

Linux へのODBC のインストール

Go のODBC ドライバーをインストールするには、GOPATH 環境変数を定義する必要があります:

export GOPATH=$HOME/golang/go

GOPATH が定義されたら、ODBC ドライバー向けのGo ドライバーをインストールすることが可能です:

$ go get github.com/alexbrainman/odbc

これでGo アプリケーションを作って実行する準備ができました。

Go アプリケーションサンプル

このサンプルアプリケーションはDynamics CRM data に対してシンプルなSQL SELECT クエリを発行し、結果を表示します。$GOPATH/src/cdata-odbc-dynamicscrm ディレクトリを作成し、次のソースコードをコピーして新しいGo ファイルを作成します。

cdata-odbc-dynamicscrm.go

package main import ( _ "github.com/alexbrainman/odbc" "database/sql" "log" "fmt" ) func main() { db, err := sql.Open("odbc", "DSN=CData DynamicsCRM Source") if err != nil { log.Fatal(err) } var ( firstname string numberofemployees string ) rows, err := db.Query("SELECT FirstName, NumberOfEmployees FROM Account WHERE FirstName = ?", "Bob") if err != nil { log.Fatal(err) } defer rows.Close() for rows.Next() { err := rows.Scan(&firstname, &numberofemployees) if err != nil { log.Fatal(err) } fmt.Println(firstname, numberofemployees) } err = rows.Err() if err != nil { log.Fatal(err) } defer db.Close() }

ターミナルで、Go アプリケーションディレクトリにナビゲートし、アプリケーションをビルドします:

$ go build

アプリケーションのビルド後、アプリケーションを実行し、Dynamics CRM のデータを表示することができます:

$ ./cdata-odbc-dynamicscrm

これでDynamics CRM と連携するシンプルなGo アプリケーションができました。ここに、より複雑なread/write 機能を使い慣れたSQL 文で足してみてください。