CData Software Blog

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

CData Driver のストアドプロシージャをSELECT文ベースで実行する方法が追加されました

こんにちは。CData Software Japanリードエンジニアの杉本です。

今回は最近追加されたちょっとした新機能、特殊なストアドプロシージャ実行方法を交えたTipsを紹介したいと思います。

ストアドプロシージャの実行

CData DriverではAPIが提供する様々な機能をストアドプロシージャという形で提供しています。

例えば、CData Google Drive Driverファイルのダウンロード

cdn.cdata.com

Amazon Marketplace Driver であれば、レポートの生成リクエス

cdn.cdata.com

などがあげられます。

通常、これらの実行は以下のようなクエリで実行する必要があったのですが、プラットフォームやツールによっては、ストアドプロシージャの実行をサポートしていないようなものがありました。

Exec RequestReport ReportType = '_GET_FLAT_FILE_OPEN_LISTINGS_DATA_', StartDate = '2019-04-15 17:28:53', EndDate = '2019-05-13 17:28:54';

それが最新のCData Driverでは以下のようにSELECT文に交えた書き方で、ストアドプロシージャを実行する方法をサポートしました!

SELECT * FROM RequestReport('_GET_FLAT_FILE_OPEN_LISTINGS_DATA_','2019-04-15 17:28:53','2019-05-13 17:28:54');

引数は各ストアドプロシージャのドキュメントを参照してみてください。上から順番に指定していきます。

f:id:sugimomoto:20201013094606p:plain

もしよくわからない部分があればCDataテクニカルサポートまでお気軽にどうぞ。

Excel Add-inからストアドプロシージャを実行

これによって最もCData Driver的に嬉しいことと言えば、CData Excel Add-inからストアドプロシージャの実行が行いやすくなった! ということではないでしょうか

今までCData Excel Add-inでは以下のようにストアドプロシージャをSQLクエリの欄で実行しようとすると、

f:id:sugimomoto:20201013094148p:plain

以下のように無効なクエリとして判定されていました。

f:id:sugimomoto:20201013094154p:plain

そのため、以前までであればVBAを用いて、以下のようにプログラムを書く必要がありました。

cdn.cdata.com

しかし最新バージョンでは、SELECT文ベースのクエリに置き換えることで

f:id:sugimomoto:20201013094159p:plain

このようにクエリが実行され、以下のようにレスポンスを受け取ることができます!

f:id:sugimomoto:20201013094205p:plain

もちろんこの機能は全テクノロジーのドライバー共通のアップデートですので、JDBCADO.NETからも実行可能です。

f:id:sugimomoto:20201013094211p:plain

ぜひ試してみてください。