クラウド人事労務ソフトSmartHRのデータをCData SyncでSQL Serverに複製する方法

by 菅原和義 | 2021年08月24日

f:id:sugawarakazu:20210821180922j:plain

こんにちは。CData Software Japanテクニカルサポートエンジニアの菅原です。

クラウド人事労務ソフトで有名なSmartHRを導入している会社の方は多いのではないでしょうか。 従業員データをSmartHRで一元管理していて、自社内でのカスタムアプリ(業務アプリケーション)でもSmartHRのデータを使いたいと思ったことありませんか。使いたいけどダブルメンテはNGだったり、手動でCSV等で出力して移行するとなると意外と手間がかかりますよね。

そこで今回はSmartHRに対応したCData Syncを使って、SQL Serverへ複製する方法を紹介します。

CData Syncは、クラウド/ SaaSのデータをノンコーディングで直感的にDBにレプリケーション(複製)できるツールです。

SmartHRとは?

雇用契約や入社手続きがペーパーレスで完結できるクラウドベースの労務管理サービスです。

https://smarthr.jp/

f:id:sugawarakazu:20210821181409j:plain

外部サービスと連携するためのAPIも充実しており、従業員情報から、部署・役職・事業所といった各種マスタデータまで幅広いデータの取得・登録・更新が可能です。

https://developer.smarthr.jp/api/index.html

f:id:sugawarakazu:20210821182328j:plain

CData Sync およびAPI Profile で対応しているSmartHR のAPI オブジェクトは以下の通りです。

Name 対応API
BankAccountSettings 口座情報
BizEstablishments 事務所
CrewCustomFieldTemplateGroups 従業員カスタム項目グループ
CrewCustomFieldTemplates 従業員カスタム項目テンプレート
CrewInputForms 従業員情報収集フォーム
Crews 従業員
CrewsBankAccounts 従業員_口座情報
CrewsCustomFields 従業員_カスタム項目
CrewsDepartments 従業員_部署
CrewsProfileImages 従業員_プロフィール画像
Departments 部署
DependentRelations 続柄
Dependents 家族情報
EmploymentTypes 雇用形態
JobTitles 役職
MailFormats メールフォーマット
PaymentPeriods 給与支給形態
Users ユーザ

今回はこのAPIを利用して、CData Syncから従業員情報の取得を行ってみたいと思います。

手順(SmartHR ⇒ CData Sync ⇒ SQL Server)

それでは実際にSmartHRのデータをSQL Serverに複製する方法を説明します。

SmartHRのアプリケーション連携の設定

まずはSmartHRのアプリケーション連携の設定を行います。

f:id:sugawarakazu:20210821193516j:plain

SmartHRの画面にアクセスして、右上のユーザー>「共通設定」をクリック

f:id:sugawarakazu:20210821193806j:plain

メニュー一覧の「アプリケーション連携」をクリック

f:id:sugawarakazu:20210821194301j:plain

APIを使用するので「アクセストークン」をクリック

f:id:sugawarakazu:20210821194505j:plain

「新規発行」をクリック

f:id:sugawarakazu:20210821194728j:plain

各リソースの参照・更新の制限を設定して「登録」をクリック

f:id:sugawarakazu:20210821194941j:plain

登録されたアクセストークンが後ほど必要となるため、アクセストークンをメモしておいてください。忘れると再度、新規発行を行うことになります。

これでSmartHRの設定は終わりです。

CData Syncの設定

次にCData Syncの設定を行います。CData Syncを起動します。

データソースにSmartHRを設定

f:id:sugawarakazu:20210812161045j:plain

「接続」タブの「接続の追加」-「データソース」タブの「Add More」をクリック

f:id:sugawarakazu:20210812161728j:plain

コネクタをダウンロード画面で「SmartHR」を検索

f:id:sugawarakazu:20210821201711j:plain

「SmartHR」をクリック

f:id:sugawarakazu:20210821201829j:plain

「ダウンロード&インストール」をクリック

f:id:sugawarakazu:20210821202254j:plain

インストールが完了するとデータソースに「SmartHR Profile」が表示されます。 「SmartHR Profile」をクリック

f:id:sugawarakazu:20210822121517j:plain

  • 名前:任意
  • プロバイダークラス:System.Data.CDAta.API
  • フォーマット設定:プロパティリスト
  • Profile Settings:(入力例)UseSandbox=False;APIKey=XXXXXXXXXXXXXX;TenantId=YYYYYYYYYYYYYYYYYY;

    • UseSandbox=False Sandbox環境に接続したい場合はTrueにしてください。
    • APIKey=SmartHRのアクセストークン
    • TenantId=SmartHRのTenantId ※TenantIdはSmartHRのURLの青文字部分です。「https://YYYYYYYYYYYYYYYYYY.smarthr.jp/」

「接続のテスト」を行い、接続できたら「変更を保存」をクリック

これでCData SyncとSmartHRの接続ができるようになりました。

接続できない場合は、下記の「Advanced」タブも環境に合わせて設定してください。 f:id:sugawarakazu:20210822124300j:plain

同期先にSQL Serverを設定

次は複製先となるSQL Serverの設定を行います。

f:id:sugawarakazu:20210822124734j:plain

「接続」-「同期先」タブの「SQL Server」をクリック

f:id:sugawarakazu:20210822124903j:plain

  • 名前:任意
  • プロバイダークラス:System.Data.SqlClient
  • フォーマット設定:プロパティリスト
  • Authentication:「SQL Server Authentication」または「Windows Authentication」
  • Server:サーバー名
  • Database:データベース名
  • User:ユーザー名
  • Password:パスワード

「接続のテスト」を行い、接続できたら「変更を保存」をクリック

これでCData SyncとSQL Serverの接続ができるようになりました。

SmartHRのデータをSQL Serverへ複製させるジョブを設定

あとはSmartHRのデータをSQL Serverへ複製させるジョブをCData Syncに登録するだけです。

f:id:sugawarakazu:20210812183621j:plain

「ジョブ」タブの「ジョブを追加」をクリック

f:id:sugawarakazu:20210822142641j:plain

  • ジョブ名:任意
  • ソース:SmartHR
  • 同期先:SQL Server
  • 全テーブルを同期します。:全テーブルを同期したい場合は✔

※今回は個別のテーブルを同期させます。

「作成」をクリック

f:id:sugawarakazu:20210822142851j:plain

「テーブルを追加」をクリック

f:id:sugawarakazu:20210822143254j:plain

複製するテーブルを選択して、「選択したテーブルを追加」をクリック

f:id:sugawarakazu:20210822143451j:plain

「変更を保存」をクリックしてジョブを保存します。

直ぐに複製したい場合は、テーブル横のチェックボックスを✔して「実行」をクリックでSQL Serverに複製されます。

実行前 実行後
f:id:sugawarakazu:20210822143739j:plain f:id:sugawarakazu:20210822143917j:plain

SQL Serverにテーブルが追加されて、データも登録されています。

f:id:sugawarakazu:20210822144149j:plain

複製するデータの条件を指定したい場合は「カスタムクエリを作成」でSQLクエリにて指定が可能です。 また、ジョブのスケジュールや実行結果の通知等の設定も他タブにて行えます。

これでSmartHRのテーブルをSQL Serverに複製することができるようになりました。

ジョブのスケジュール設定

f:id:sugawarakazu:20210830165623j:plain ジョブのスケジュールを設定するには「スケジュール」タブで「スケジューラーを有効にする」に✔

  • Interval:分・時・日・週・月・高度な設定のいずれかを設定可能(今回は日(Daily)を選択)

f:id:sugawarakazu:20210830170219p:plain

  • 時:毎日のジョブを実行させる時間を設定

「変更を保存」をクリック。これで毎日特定の時間にジョブが実行されるようになります。

終わりに

今回はCData SyncでSmartHRのデータをSQL Serverに複製する方法を紹介しました。

他にもSmartHRに関する記事がありますので、参考にしてみてください。

https://www.cdata.com/jp/blog/smarthrapidriver

www.cdatablog.jp

CData製品を使用してみて不明な点があれば、テクニカルサポートまでお気軽にどうぞ。

https://www.cdata.com/jp/support/submit.aspx

www.cdata.com

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。