TECH BLOG

MENU

オンプレクラウド

Dr.Sum

Dr.SumDr.Sum Connect

 

さいしょに

この記事ではConnectのライブラリとなる[DB_Rebuild]ライブラリについて解説します。

ライブラリ群の全体の話についてはこちらの本記事に記載しています。

 

 

ライブラリの特徴

本ライブラリはデータベースがDr.Sumに限定されているものです。Dr.Sumはテーブルを再構築(Rebuild)しなければならないタイミングがあります。

私はそのタイミングで再構築をかけるよりも、夜間に毎回かければOKかなと思っています。

Dr.Sumマニュアル:1-3 テーブルの再構築のタイミングを判断するには

 

またDS Scriptを駆使してテーブルの断片率が50%以上であれば完全リビルドをする方法も紹介しています。

 

 

 

Dr.Sumには再構築コマンドを呼び出すだけでデータベースの再構築がおこなえる機能があります。

今回はその再構築コマンドを呼び出すバッチを作成し、Connectからパラメーターを渡して、再構築を実行する仕組みを作成します。

Dr.Sumマニュアル:2-21 dwtab_rebuild(テーブルを再構築する)

 

 

ライブラリの詳細

引き渡し変数

DB_Rebuildライブラリで必要な変数はこちら。

 

親スクリプトから渡してほしい変数はこちらの1つです。

です。

親スクリプトからはDB名を持たせればOKです。

親スクリプトからの変数の渡し方はこちら。

 

親スクリプトからは自身の変数である

を渡します。

 

処理の流れ

 

[DB_Rebuild]ライブラリはコンポーネントが5つですがTry-Catch文がほとんどで、実際はバッチコマンドを処理しているだけですので1つですね。

 

バッチファイルを用意する

まずはバッチファイルを用意して、Connectの入っているサーバに配置しましょう。

バッチファイルの中身はこちらです。

@echo off

cd C:\drsum57\AdminTools\cmd\JPN

rem データベースのリビルド
dwtab_rebuild "localhost" 6001 %1 %2 %3 "" 1 0 0

exit /b

cdはDr.Sumのバッチファイルが格納されているファイルを指します。今回はdwdb_rebuild.batをキックします。

dwtab_rebuild “localhost” 6001 %1 %2 %3 “” 1 0 0

dwdb_rebuildのあとにパラメータを渡しています。%1〜%3はConnectから渡すパラメーターです。

 

ReBuildコンポーネント

バッチファイルが設置できたら、Connect側に戻りましょう。

外部アプリケーション起動処理コンポーネントを用意します。

 

起動コマンドは先ほど置いたバッチファイルの場所を指します。

そして起動引数がバッチファイルの %1〜%3 に対応します。

バッチConnect
%1${DS User ID}
%2${DS Password}
%3${DB名}

これでOKです。

Dr.Sumのユーザー名やパスワードはConnectの中で保持しています。
(グローバルにした方がいいんだろうけど、とりあえずはスクリプト変数に保持しています)

[DB_Rebuild]ライブラリは以上で終了です。

 

再構築のタイミング

データベース再構築をするタイミングについて記載します。

一番スマートなのは夜間処理が終わったタイミングで最後に再構築です。夜間処理でDELETEした後にINSERTするテーブルがあればそこが最適でしょう。

ただし[毎日再構築する必要がないテーブル]がほとんどです。Dr.Sumを10年以上触っていますが、毎日再構築をしなければならないテーブルはまだ見たことがありません。

そのレアケースを外すと、夜間処理の前にBackUpと一緒にかけてしまうのがベターかなと思います。

そのため、私はMaintenanceスクリプトを夜間処理の前に動かしています。

 

さいごに

DB_Rebildライブラリについては以上となります。

他のライブラリについてもこちらで解説していますので、ぜひご覧になってください。

 

 

 

 

この記事にリアクションしてみませんか?

What do you think of this post?
  • 分かりやすい (0)
  • 問題が解決した (0)
あなたのお役に立ててうれしいです!

石井 亮介

MotionBoard Dr.Sum
プロフィールへ >

BIツールのセールスエンジニア・システムエンジニア・カスタマーサクセス歴15年以上。お客様の課題から適切な製品・使い方を提示することが得意です。 ITベンダー時代にはさまざまなウイングアーク製品以外のBIツール・ETLツールの導入にも携わりました。 趣味で高田馬場の町中華でホームページ・オーダーシステムなどをつくってデータ分析をしています。

Related article

Related article関連記事

Pick up

Pick upおすすめ記事

【Connect】開発コスト・運用コストを抑えたスクリプトの構築方法

公開:2025.02.06
更新:2025.02.06

分かりやすい

1

解決した

0
  • データ取り込み
  • データ加工

Dr.Sum

invoiceAgent【「業務を変える動画たち」シリーズ】記事まとめ

公開:2025.01.16
更新:2025.01.31

分かりやすい

0

解決した

0
  • 業務を変えるシリーズ

invoiceAgent

【脱Excel】MotionBoardの入力機能で業務アプリをつくる

公開:2024.08.05
更新:2024.08.05

分かりやすい

3

解決した

0
  • データ入力
  • デザイン
  • コンテナ

MotionBoard

Ranking

Rankingランキング

1

Excelのデータを加工したい。~変換(横持ち⇔縦持ち)について~

公開:2021.01.19
更新:2024.05.08

分かりやすい

7

解決した

1
  • データ取り込み
  • データ加工

Dr.Sum

2

【あの頃に戻りたい】バックアップから任意のテーブルだけを戻す方法

公開:2023.11.07
更新:2023.11.20

分かりやすい

1

解決した

0
  • 設定

Dr.Sum

3

【DELETE-INSERT】特定期間のデータのみ洗い替えたい!【手動編】

公開:2024.01.10
更新:2024.05.08

分かりやすい

0

解決した

0
  • データ取り込み
  • SQL

Dr.Sum

Info

Information

ウイングアーク1stからのお知らせ