LoginSignup
0
0

More than 1 year has passed since last update.

【Dr.Sum VTB】Dr.Sumインポートを日時指定&自動で動かす(バッチ)

Last updated at Posted at 2021-04-12

目標

Dr.Sum VTBを使ったDr.Sumインポートを日時指定&自動で動かす(バッチ)
※「担当者が毎日手動でDr.Sum EnterpriseManagerから実行する」でよいなら特に必要ない
※ただし↑この場合、担当者が休みの時は誰がどうする、等の検討は必要だよね

関連記事こちら
Dr.Sum VTBでOracleから直接データ取得、Dr.Sumへインポートする

心意気

私は文系(文学部国文学科)出身でSEになった人間です。
新人研修では講師が何の話をしてるのかわからず、10進数を表す「デシマル」を聞いたとき「それどんな漢字で書くんですか」と聞いて講師を凍らせました(私の脳内では「出四丸かな?」)。
「変数の型」「関数」「配列」「アドレスのアドレス」分からなすぎて何度も心が死にました。研修の開発言語はCでした。理系出身の同期の話についていくのに何年かかかった感あります。てか、いまでも理解できてない事が沢山あります!
そんな私ですので、生まれて初めて「コマンド」「バッチ」に触れた人の戸惑いが分かります、私もそうでした。そのような人にもわかるよう書く・・・書きたい・・

必要なもの

(1)Dr.Sumが用意したコマンド「dwtab_import」への認識
  →コマンドプロンプトで、ルールに従った書き方で入力=インポート出来る
(2)バッチファイル
  →(1)を自動で動かすために必要、自分でファイル作成
(3)タスクスケジューラ
  →Windows付属のアプリ、自分でタスク作成必要

手順

(1)Dr.Sumが用意したコマンド「dwtab_import」への認識

コマンドの使用法を理解しましょう。

 コマンド「dwtab_import」
  2-20 dwtab_import(テーブルにデータをインポートする)
   https://cs.wingarc.com/manual/drsum/4.2/ja/ea42/index.html#60784937.html
 この手のものに慣れ親しんだ方ならマニュアルでOKと思いますが、そうでない方のために以下書きます。

疑問:コマンド「dwtab_import」??
→Dr.Sumが用意した呪文と捉えましょう。
 この呪文を決まった場所型どおりにとなえるとテーブルにインポートできる。
 呪文は文字でコマンドプロンプトに入力する。
 Dr.Sum EnterpriseManagerを使ってインポートするのと結果は同じだけど。
 コマンドを使うことで、コンピュータにやらせることが出来る(=自動化)。

疑問:決まった場所で??
 決まった場所=Dr.Sumインストールしたフォルダ
  例)E:\DrSum51\AdminTools\cmd\JPN
 
 ※始めはコマンドの前にこの「決まった場所」をひっつけて、以降の型を整えたほうがよい。
  E:\DrSum51\AdminTools\cmd\JPN\dwtab_import .........

疑問:型どおりに??
↓この実際のコマンドで解説します。
E:\DrSum51\AdminTools\cmd\JPN\dwtab_import "localhost" 6001 "Administrator" "password" "共通" "共通カレンダー "VTB_ROOT" "V_共通カレンダー" "" "" 0 1 0
image.png

★マニュアル
 コマンド「dwtab_import」
  2-20 dwtab_import(テーブルにデータをインポートする)
   https://cs.wingarc.com/manual/drsum/4.2/ja/ea42/index.html#60784937.html

(2)バッチファイル

(1)で解説したコマンドの先頭に「call 」を付け、テキストファイルに貼り付ける。
こんな感じ。
call E:\DrSum51\AdminTools\cmd\JPN\dwtab_import "localhost" 6001 "Administrator" "password" "共通" "共通カレンダー "VTB_ROOT" "V_共通カレンダー" "" "" 0 1 0
できたら、~.batという名前で保存。インポート.batとか。
このファイルをダブルクリックするとインポート実行しますので気をつけて!!

(3)タスクスケジューラ

インポートが決まった日時に実行されるよう設定します。
Windowsの管理ツール→タスクスケジューラで起動、タスクの作成をクリック。
image.png

名前をつける。セキュリティオプションは私はたいていこのようにしておく。
image.png

トリガーは「この作業をいつやりますか?」の設定
image.png

操作は実際に動かすバッチファイルを指定
image.png

タスクができるとこんな感じ
image.png
作業フォルダを指定するようにしましょう。

(4)バッチ実行後の確認

管理テーブルを確認し、最終更新日時を確認しましょう。ここで分かります。
(またはテーブル一覧で最新の情報に更新しても良いのかなと)
image.png

SQL Executorを起動、SQLを貼り付け実行
image.png

select dataupdate_time from __all_tables__ where table_name = 'テーブル名' AND assortment = 'table'
image.png

出てきた日時正しいか、確認を。

※副島さん、ご指摘ありがとうございます。

すぐにぶちあたる課題

バッチが何らかの理由で失敗した時に、どう感知するか?操作のところでいかにも電子メールの送信ができそうなんだけど、実際は使えない。使えないものをなんで出しとるんかわからんわ。
→エラー発生時にお知らせメール飛ばす仕組みを作りました。ダサいやつです。どこかで紹介するかも
image.png

マニュアル

 第3章 バッチ処理の例
 インポート
  https://cs.wingarc.com/manual/drsum/4.2/ja/ea42/index.html#60784923.html

 コマンド「dwtab_import」
  2-20 dwtab_import(テーブルにデータをインポートする)
   https://cs.wingarc.com/manual/drsum/4.2/ja/ea42/index.html#60784937.html

ウイングアークのユーザコミュニティ「nest」

私も参加しています。多くの有益な情報があり、交流があります。
世の中が変わり、社外活動の重要性がより増していると考えております。
社外で自分の価値を計れるものさしを持とう。自社だけが世界ではない!

以上

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0