CData Software Blog

クラウド連携のCData Software の技術ブログです。

Visual StudioからkintoneのデータにSQLでアクセス

はじめに

本記事はCData Software Japanが提供するハンズオンセミナー「CData Drivers ハンズオン ~Salesforce、kintone データをAPI を書かずに使いこなす!!」内のシナリオ「Visual StudioからkintoneのデータにSQLでアクセス」の資料です。

本資料で実現するシナリオ

MicrosoftIDE(開発支援ツール)Visual StudioのServer ExplorerからkintoneのデータにSQLでアクセスします。

f:id:kuwazzy:20200317153254p:plain

CData kintone ODBC Driverとは?

CData kintone ODBC Driverを利用すると、Open Database Connectivity (ODBC) をサポートするOfficeツール・BIツール・開発支援ツールからWeb API を書くことなくkintoneのデータにアクセスすることができます。利用できるツールの例はこちらからご覧ください。

www.cdata.com

使用するCData製品

CDataでは以下のPowerBI専用のコネクタもご提供しておりますが、本手順では、汎用ドライバであるODBCドライバを利用します。

www.cdata.com

CData kintone ODBC Driverのインストール

以下のサイトから評価版ビルドをダウンロードします。

ダウンロードされたインストーラ形式(.exe)のファイルを起動します。

下記のようなインストーラが起動するので、ライセンス契約書を確認した上で、デフォルト設定のままインストールを進めて完了させます。

f:id:kuwazzy:20200317143440p:plain

インストール途中にVC++ Redistributableのインストールが求められる場合はインストールしてください(x86、および、x64の2回求められます)。

f:id:kuwazzy:20200317135211p:plain

インストールが完了するとデフォルトブラウザが起動して製品ヘルプファイルが起動します。

f:id:kuwazzy:20200317143538p:plain

ODBCのDSN設定

インストーラが完了するとデフォルトでは「ODBCデータソース を構成する」にチェックがついているので「完了」ボタンをクリックすると下記のDSN構成画面が表示されます。

下記の項目にkintoneへの接続情報を設定します。

kintoneの接続情報 設定項目 備考
ユーザID User
パスワード Password
サブドメイン含むサイトURL Url 例:https://xxx.cybozu.com

「接続のテスト」ボタンをクリックします。下記のようなダイアログが表示されれば成功です。「接続ウィザード」の「OK」ボタンをクリックして保存します。

f:id:kuwazzy:20200317143732p:plain

保存したDSN設定は、ユーザーDSNで32/64ビット共有の設定のため、ODBCデータソース (64bit, 32bit)どちらのアイコンからも確認できます。

f:id:kuwazzy:20200317143829p:plain

Visual Studio Server Explorerからのアクセス

Visual Studio 2019を起動します。作業の開始ダイアログが開くので「コードなしで続行」をクリックします。

f:id:kuwazzy:20200317153638p:plain

※紫のアイコンです。青いアイコンはVisualStudioCodeと別なアプリケーションとなります。

表示タブから「サーバーエクスプローラー」を開きます。

f:id:kuwazzy:20200317153755p:plain

ペインの左側にサーバーエクスプローラーが表示されます。データ接続アイコンを右クリックして「接続の追加」を選択します。

f:id:kuwazzy:20200317154004p:plain

接続の追加ダイアログが開くのでデータソース 右横の「変更」ボタンをクリックします。

f:id:kuwazzy:20200317154136p:plain

データソース の変更ダイアログで「Microsoft ODBC データソース 」を選択してOKボタンをクリックします。

f:id:kuwazzy:20200317154237p:plain

接続の追加ダイアログに戻りますので、データソース が「Microsoft ODBC データソース(ODBC) 」に変わっていることを確認します。データソース の指定で「ユーザーデータソース名またはシステムデータソース 名を使用」のドロップダウンリストから「CData Kintone Source」を選択します。

f:id:kuwazzy:20200317154336p:plain

ログイン情報のユーザ名、パスワードにkintoneの接続ユーザ名、パスワードをセットします。テスト接続ボタンをクリックして下記の様な成功のダイアログが出れば成功です。テスト接続結果のダイアログ、および、接続の追加ダイアログを閉じます。

f:id:kuwazzy:20200317154557p:plain

サーバーエクスプローラーのデータ接続の下に「ODBC.Kintone.CData」が追加されていることを確認します。ツリーを開いていくとテーブルフォルダ配下にはkintone内のアプリの一覧が表示されます。

f:id:kuwazzy:20200317154733p:plain

適当なテーブルを選択して右クリックから「データを取得」で開いてみます。

f:id:kuwazzy:20200317155009p:plain

kintoneのアプリ内のデータが表示されました。サーバーエクスプローラーを再度開くには左側の縦のタブをクリックします。

f:id:kuwazzy:20200317155135p:plain

再度、サーバーエクスプローラーを開きます。ODBC.Kintone.CData > テーブル > xx_顧客管理テーブルを右クリックして今度は「新しいクエリ」を開きます。

f:id:kuwazzy:20200317155336p:plain

テーブルの追加ダイアログが表示されるので、CTRLボタンを押しながら「xx案件管理(営業支援パック)」と「xx顧客管理(営業支援パック)」を選択して追加します。

f:id:kuwazzy:20200317155510p:plain

二つのテーブルが追加されるので間のリレーションシップを右クリックから削除します。

f:id:kuwazzy:20200317155640p:plain

ドラッグ&ドロップ操作で、「xx案件管理(営業支援パック)」内の「顧客管理レコード番号(関連レコード紐付け用)」と「xx顧客管理(営業支援パック)」の「RecordId」を紐つけなおします。この時テーブルを大きくすると操作しやすいです。

f:id:kuwazzy:20200317155832p:plain

取得する項目を選択します。下記の画面の例では「xx案件管理(営業支援パック)」からは「合計費用・案件名・顧客名」を、「xx顧客管理(営業支援パック)」からは「部署名・メールアドレス・担当者名」にチェックを入れました。取得項目を選んだらSQLの実行ボタンをクリックします。取得データが下のペインに表示されれば成功です。

f:id:kuwazzy:20200317160155p:plain

このSQLの結果をCSVファイルとしてローカルフォルダにダウンロードしてみましょう。SQLのFROM句の前に「INTO [csv://C:\Work\kintone案件.csv]」を追加します。詳細は下記のSQLをご覧ください。

SELECT                      Kintone."01_案件管理(営業支援パック)".合計費用, Kintone."01_案件管理(営業支援パック)".案件名, 
                                      Kintone."01_案件管理(営業支援パック)".顧客名, Kintone."01_顧客管理(営業支援パック)".部署名, 
                                      Kintone."01_顧客管理(営業支援パック)".メールアドレス, 
                                      Kintone."01_顧客管理(営業支援パック)".担当者名
INTO [csv://C:\\Work\\kintone案件.csv]
FROM                         Kintone."01_案件管理(営業支援パック)", Kintone."01_顧客管理(営業支援パック)"
WHERE                       Kintone."01_案件管理(営業支援パック)"."顧客管理レコード番号(関連レコード紐付け用)" = Kintone."01_顧客管理(営業支援パック)".RecordId

再度、SQLを実行します。クエリが正常に実行できたら「C:\Work」フォルダを確認します。

f:id:kuwazzy:20200317160932p:plain

kintone案件.csvファイルが出力されていることが確認できましたら右クリックから「プログラムから開く > Excel」を選択します。

f:id:kuwazzy:20200317161411p:plain

Excelが起動してkintone案件.csvファイルの内容を確認できます。

f:id:kuwazzy:20200317161528p:plain

今回は、SELECT結果をCSVに出力する例をご紹介しましたが、SELECT文の他にINSERT / UPDATE / DELETEなどの更新系SQLも実行できます。構文については下記製品マニュアルをご覧ください。

cdn.cdata.com

Visual StudioからkintoneのデータにSQLでアクセスすることが出来ました。