Dr.SumユーザーのみなさんはDS Scriptをつかったことはありますか?
DS ScriptとはDr.Sumの中で書けるスクリプト言語のことです。
マニュアルから引用すると
DS Scriptには、次の特長があります。
バッチファイルなどの実行ファイル、SQL文、Dr.Sumが提供するコマンドを1つのスクリプトとして定義できる
定義したスクリプトでは変数を指定し、実行時に指定した引数やSQL文の実行結果を変数に格納でき、動的な処理が実行できる
条件分岐や並列処理ができる
ブロックモードとテキストモードの両方の利点を活かしたインターフェースでスクリプトを編集できる
ワークテーブル(インメモリ上)を使った高速なデータ加工処理ができる
Dr.Sumマニュアル:4-1 DS Scriptとは |
と書いてあります。
Dr.Sum内でデータ加工や細かい処理をするときに大変役に立つスクリプトです。
本記事では作成したDS Scriptをバッチからキックする方法について、サンプルコードを用いて紹介をします。
バッチから起動ができると、そのバッチをサーバーのタスクマネージャーにセットし、自動で実行できるようになるので大変便利です。
さっそく見ていきましょう。
別記事で実際に役に立つDS Scriptを紹介していますので、そちらを参照します。
実際に使用できるバッチを作りました。
@echo off
rem ##############################################################
rem dwscr_execute_call.bat
rem DS Scriptをキックするバッチ
rem ##############################################################
set COMMAND_PATH=%DWODS_TOOLS_PATH%\cmd\JPN
rem REBUILD_TABLE.dhnのコール
call "%COMMAND_PATH%\dwscr_execute" "localhost" 6001 "Administrator" "" "SCRIPT_ROOT/REBUILD_TABLE.dhn" "C:\logs\DSScript.log"
@echo off
if not %errorlevel% == 0 goto error
goto end
:error
rem ##############################################################
rem エラー処理
rem ##############################################################
rem 異常終了は1を返す
exit /b 1
:end
rem ##############################################################
rem 終了処理
rem ##############################################################
rem 正常終了は0を返す
exit /b 0
実際のバッチは下記からダウンロードできます。
サンプルバッチ(dwscr_execute_call.bat)のダウンロード |
このバッチはDS Scriptを呼び出して、そのスクリプトが正常終了だったら0を、異常終了だったら1を返す作りになっています。
callをしているところは各自の環境に合わせて変更をする必要があります。
本サンプルでは
バッチを起動する場所はDr.Sumのインストールされているサーバー内で、初期設定のユーザー(Administrator)に初期設定のパスワード(パスワードなし)としています。
また起動するDS Scriptは「REBUILD_TABLE.dhn」をキックし、ログはDr.SumがインストールされているサーバーのC:\logs\DSScript.logに出力されます。
コマンドの詳細についてはマニュアルを参照してください。
Dr.Sumマニュアル:2-29 dwscr_execute(DS Scriptのスクリプトファイルを実行する) |
本記事は以上です。
DS Scriptをつかいこなすとデータ加工が簡単になりますので、ぜひお試しください。
Related article
Pick up
Ranking
Info