Perlの小部屋

データベースの利用

データベース専用のソフトウェアと連携。

モジュールのインストール

DBI、DBD::ODBCを利用します cpanを利用しインストール(StrawberryPerl版)

#データベースの取り扱いコネクション
cpan> install DBI
cpan> install DBD::ODBC

Microsoft SQL Server データベースに接続

Windows10 Microsoft SQL Serverへの接続 環境に合わせデータベース名・サーバー名など変更してください。サーバープロパティで権限、セキュリテイなどの設定も事前に必要となります。

# データベース
use DBI;
$user   = "sa";
$passwd = "passwd";
$dbdb   = "SQL_DB";
$server = "SERVER\\SQLEXPRESS";
$dbh = DBI->connect(
    "dbi:ODBC"
    . ":Driver={SQL Server};"
    . "Server=$server;"
    . "database=$dbdb;"
    . "uid=$user;"
    . "pwd=$passwd;" );
}

SQL文でデータベースを操作

データベースに接続後SQL文を利用できます

#table work data 削除
$SQL = "TRUNCATE TABLE work ";
$arf = $dbh->selectall_arrayref($SQL) || die $dbh->errstr;

#table temp F1にデータがない場合 削除
$SQL = "delete from temp Where F1 is null";
$arf = $dbh->selectall_arrayref($SQL) || die $dbh->errstr;

#■時刻取得
use Time::Piece;
# Time::Pieceオブジェクトの取得
my $today = localtime;
my $year   = $today->year;
my $month  = $today->mon;
my $day   = $today->mday;
my $hour   = $today->hour;
my $min = $today->minute;
my $sec = $today->sec;
$date_now = "$year\/$month\/$day";
$Date_time=$date_now.' '.$hour.':'.$min.':'.$sec;

#table 「temp」 フィールド「time」に $Date_timeをセット
$SQL = "UPDATE コントロール set time = '".$Date_time."' ";
$arf = $dbh->selectall_arrayref($SQL) || die $dbh->errstr;

バッチ処理

バッチファイルの実行をすることも出来ます

my $cmd = "C:\\TEMP\\worki.bat";
`$cmd`;
ページトップ