この記事では、データベース管理ツールであるDBeaver からCData JDBC Driver for Salesforce を使って、Salesforce のデータを見たり、ER 図を作成する方法を紹介します。
DBeaver でSalesforce データを管理
DBeaver とは
DBeaver は、データベース管理ツールです。クロスプラットフォーム(Win/Mac/Linux)をサポートしているほか、多くのSQL やNoSQL データに対応している大変便利なツールです。しかもComunity Edition は無償で利用できます。
dbeaver.io
日本語でも紹介されている方がいますね。インストール方法や基本的な試用方法は以下の記事を参照しました:
qiita.com
dev.classmethod.jp
CData JDBC Drivers
CData JDBC Drivers は、100 を超えるSaaS やNoSQl データソースへのJDBC インターフェースを提供するものです。Salesforce、Dynamics、kintone などのSaaS データをRDB に仮想化してJDBC 経由で標準SQL クエリでアクセスできるようになります。
CData JDBC Drivers
https://www.cdata.com/jp/jdbc/
DBeaver からのCData JDBC Driver for Salesforce の使い方
DBeaver のセットアップ方法については、前述の記事を参照してください。
JDBC Driver for Salesforce は、こちらから30日の無償版がDL 可能です。
https://www.cdata.com/jp/drivers/salesforce/jdbc/
DBeaver にJDBC Driver for Salesforce を登録
まずは、DBeaver の[データベース]→[ドライバーマネージャー]を開きます。
[新規]ボタンをクリックします。
[ファイルを追加]ボタンから、インストールしたディレクトリのlib フォルダ内のcdata.jdbc.salesforce.jar ファイルを選択します。[クラスを見つける]ボタンを押すと、ドライバのクラスが表示されます。
ドライバの設定を行います:
これでOK を押して、CData JDBC Driver for Salesforce がDBeaver 内で使えるドライバーとして登録されます。
DBeaver のデータベース接続設定
[データベース]→[新しい接続]をクリックします。
先ほど登録したSalesforce JDBC が使えるデータソースとして表示されます。アイコンをクリックします。
Salesforce アカウントへの接続は、JDBC ドライバーの登録時に行っているので、そのまま[テスト接続]をおしてSalesforce への接続を確認します。確認できたら[終了]を押して接続を確立します。
DBeaver からSalesforce データをクエリ
[データベースナビゲータ]で、先ほど作ったデータベース接続をクリックします。するとSalesforce のデータがRDB に仮想化され、テーブル(読み書き双方)、ビュー(読みのみ)という形でツリー表示されます。もうRDB と同じ感覚です。
Account テーブルをダブルクリックすると、[プロパティ]タブにSalesforce のAccount(取引先)エンティティの情報がJDBC でスキーマ定義されたカラムとして表示されます。やはり、もうRDB と同じ感覚です。
では、Account テーブルのデータをクエリしてみます。普通にSELECT 文でクエリ可能です。クエリ結果がテーブルデータになって帰ってきます。ますますRDB と同じ感覚です。
クエリは、SELECT だけでなく、INSERT、UPDATE、DELETE の各種処理ができます。他のSalesforce エンティティとのJOIN や集計関数や文字列関数も利用可能です。
使用可能なSQL クエリはこちらをご覧ください。
cdn.cdata.com
試しに[ER 図]作成ボタンを押してみたら、ER 図出てきた
ここまでRDB 的にSalesforce データを扱えたので、[ER 図]ボタンを押してみました。なんと出ましたER 図!
それぞれのRDB 化されたエンティティとエンティティ間のリレーション推定までDBeaver がやってくれました。すばらしいです。
まとめ
DBeaver はJDBC データソースの管理、クエリを行う便利なツールです。CData JDBC Drivers は、サードパーティのJDBC としてDBeaver で動作することが確認できました。
Salesforce の他にもいろいろなデータソースがあるので、是非SaaS データもDBeaver で管理してみてください。
関連コンテンツ