こんにちは。CData Software Japanリードエンジニアの杉本です。
今回は最近追加されたちょっとした新機能、特殊なストアドプロシージャ実行方法を交えたTipsを紹介したいと思います。
ストアドプロシージャの実行
CData DriverではAPIが提供する様々な機能をストアドプロシージャという形で提供しています。
例えば、CData Google Drive Driverファイルのダウンロード
Amazon Marketplace Driver であれば、レポートの生成リクエスト
などがあげられます。
通常、これらの実行は以下のようなクエリで実行する必要があったのですが、プラットフォームやツールによっては、ストアドプロシージャの実行をサポートしていないようなものがありました。
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');
引数は各ストアドプロシージャのドキュメントを参照してみてください。上から順番に指定していきます。
もしよくわからない部分があればCDataテクニカルサポートまでお気軽にどうぞ。
Excel Add-inからストアドプロシージャを実行
これによって最もCData Driver的に嬉しいことと言えば、CData Excel Add-inからストアドプロシージャの実行が行いやすくなった! ということではないでしょうか
今までCData Excel Add-inでは以下のようにストアドプロシージャをSQLクエリの欄で実行しようとすると、
以下のように無効なクエリとして判定されていました。
そのため、以前までであればVBAを用いて、以下のようにプログラムを書く必要がありました。
しかし最新バージョンでは、SELECT文ベースのクエリに置き換えることで
このようにクエリが実行され、以下のようにレスポンスを受け取ることができます!
もちろんこの機能は全テクノロジーのドライバー共通のアップデートですので、JDBCやADO.NETからも実行可能です。
ぜひ試してみてください。