データベース/テーブルの作成とデータベース関連アクション
データベース/テーブルの作成は、繰り返しや他のアクションとの連携もないのでPower Automate for Desktopで行う必要はない部分ですが(通常、上述のSSMSなどで行います)、データベース関連アクションの説明もかねて、Power Automate for Desktopで行います。
Power Automate for Desktopのデータテーブル型変数のように、SQL Serverの[テーブル]も1つのデータを表す複数の値の組を1行として複数行格納できるオブジェクトです。その[テーブル]を複数格納できるオブジェクトが[データベース]です。単純な構成では1つの[データベース]は1つのファイル(拡張子mdf)で表します。
[1]新しいフローを作成する
Power Automate for Desktopのトップ画面より[+新しいフロー]をクリックして、適切な名前で新規のフローを[作成]します。
[2]DBMSに接続する
DBMSとの通信のための接続オブジェクトを作成します。以降のコマンドは、すべてこの接続オブジェクトを通じて送受信します。[データベース]アクショングループの[SQL接続を開く]アクションを配置すると、設定ダイアログが開きます。
接続文字列テキストボックスの右側の[接続文字列の作成]ボタンをクリックします。
[データリンクプロパティ]ウィンドウが表示されるので、以下の表のように設定を追加します。
| タブ | 項目 | 設定値 |
|---|---|---|
| プロバイダー | 接続するデータを選択します | SQL Server Native Client 11.0 |
| 接続 | サーバー名を選択または入力 | (localdb)\MSSQLLocalDB |
| サーバーへのログオン情報 | 「Windows NTの統合セキュリティを使用する」を選択 |
[接続]タブでは、[接続テスト]ボタンをクリックし、「接続テストに成功しました。」と表示されることを確認してください。その後、[OK]ボタンをクリックすると、元のウィンドウに戻るので、接続文字列が図のように反映されていることを確認した上で、[保存]ボタンをクリックします。
[3]ドキュメントフォルダーのパスを取得する
データベースのファイルをドキュメントフォルダーに作成するため、ドキュメントフォルダーのパスを取得します。[フォルダー]アクショングループの[特別なフォルダーを取得]アクションを配置すると、設定ダイアログが開きます。
以下の設定を選択/入力し、保存します。
- 特別なフォルダーの名前:ドキュメント
- 生成された変数:%Documents%
[4]データベース(とmdfファイル)を作成する
[データベース]アクショングループの[SQLステートメントの実行]アクションを配置すると、設定ダイアログが開きます。
[SQLステートメント]欄に以下の内容を入力し、保存します。これは[データベース]をMAILDBという名前で作成するコマンドです。
CREATE DATABASE MAILDB ON PRIMARY (NAME=N'MAILDB',FILENAME=N'%Documents%\MAILDB.mdf') COLLATE Japanese_CI_AS
[5]テーブルを作成する
さらに、別の[SQLステートメントの実行]アクションを配置すると、設定ダイアログが開きます。
[SQLステートメント]欄に以下の内容を入力し、保存します。これは[テーブル]をMAIL_TABLEという名前で作成するコマンドです。
USE MAILDB CREATE TABLE MAIL_TABLE( Uid int NOT NULL, FromUser nvarchar(max), ToUsers nvarchar(max), CcUsers nvarchar(max), Subject nvarchar(max), BodyText nvarchar(max), Date datetime, CONSTRAINT PK_MAIL_TABLE PRIMARY KEY CLUSTERED ( Uid ASC ) )
メールのメッセージを格納するテーブルなので、Power Automate for Desktopのメールメッセージ型を参考にしています。接続時にデータベースを指定していないため、CREATE文の前にUSE文でテーブルの格納先になるデータベースを指定しておきます。
[6]接続を閉じる
接続オブジェクトは、コンピュータのリソースを消費するため、使用が終わったら解除する必要があります。[データベース]アクショングループの[SQL接続を閉じる]アクションを配置すると、設定ダイアログが開きます。ここでは、既定の設定のまま、保存します。
[7]このフローを実行する(一度のみ)
フローを実行します。実行が成功した場合、MAILDBデータベースとMAIL_TABLEテーブルが作成されています。ドキュメントフォルダーの直下に、以下のファイルができていることも確認しておきましょう。
- MAILDB.mdf(データファイル)
- MAILDB_log.ldf(トランザクションログファイル)
フローを保存して終了します。このフローはこれ以上は使用しません。
