Lesson 7 SQL

1. データベースを作成する

SQL データベースを作成するためには、最初に適切な資格を持ったユーザーが必要です。 そのユーザーの名前とパスワードはプロパティに保存されますので、 何らかの通常の UI 要素やカスタム・アクションを使って、設定することが出来ます。 これは、新しいユーザー・アカウントを作成する ために使ったのと同じ User タグであることに注意して下さい。 ただし、そのときは、Component タグの中で使われていました。 どのコンポーネントにも属さないときは、User タグはユーザーを作成せず、他の操作が必要とする資格を定義するだけです。 ここで使うタグも、SQL 関連の機能も、拡張モジュールの中にありますので、ソース・ファイルの開始タグの中で、 それらの拡張モジュールに言及しなければなりません。

<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'
     xmlns:util='http://schemas.microsoft.com/wix/UtilExtension'
     xmlns:sql='http://schemas.microsoft.com/wix/SqlExtension'>

更に、それらのタグは独自のネームスペースに属していますので、使用するときには修飾を加えなければなりません。

<util:User Id='SQLUser' Name='[SQLUSER]' Password='[SQLPASSWORD]' />

データベースの作成そのものは、いつものように、コンポーネントの中に入ります。 SqlDatabase は前の User の宣言を参照し、データベース名 (サーバーとインスタンス) を定義します。 Server を指定しない場合は、ターゲット・マシンで走っている SQL サーバーにデータベースをインストールすることになります。 その他の属性は、さまざまに異なる状況で、どのように進むべきかを指定します。 ConfirmOverwrite は、データベースが既に存在する場合にどうするかを決定し、 CreateOnInstall, CreateOnUninstall, DropOnInstall, DropOnUninstall の属性はインストールおよびアンインストールの際に要求される振る舞いを指図します。

入れ子にされた SqlScript タグは、作成されたばかりの空のデータベースに対して何をするべきかを決定します。 私たちは、ここで、独立したファイルに入っている SQL スクリプトを、妥当なものなら何でも、実行することが出来ます。 BinaryKey 属性が .sql ファイルへのリンクを提供します。 その他の属性は、エラーが発生したときの振る舞いを指定したり (ContinueOnError)、 スクリプトを実行する時を指定したりします (ExecuteOnInstall, ExecuteOnUninstall, RollbackOnInstall, RollbackOnUninstall)。 実行されるスクリプトが複数有る場合は、Sequence 属性を使って、実行の順序を指定する事が出来ます。

<Component Id='SqlComponent' 
    Guid='YOURGUID-D8C7-4102-BA84-9702188FA316'>
  <sql:SqlDatabase Id='SqlDatabase' Database='Foobar'
      User='SQLUser' Server='[SQLSERVER]' CreateOnInstall='yes'
      DropOnUninstall='yes' ContinueOnError='yes'>
    <sql:SqlScript Id='CreateTable' BinaryKey='CreateTable'
        ExecuteOnInstall='yes' />
  </sql:SqlDatabase>
</Component>

残っているのは、.sql ファイルを含めることだけです。

<Binary Id='CreateTable' SourceFile='CreateTable.sql' />

参照する .sql ファイルは、データベース・テーブルを作成するためのよくある SQL コマンドを記載したものです。

CREATE TABLE Test (Value1 CHAR(50), Value2 INTEGER)
CREATE INDEX TestIndex ON Test (Value1)

インストーラ・パッケージをビルドする時は、適切な WiX モジュールとリンクしなければなりません。

candle.exe -ext WixUtilExtension -ext WixSqlExtension SampleSQL.wxs
light.exe -ext WixUtilExtension -ext WixSqlExtension SampleSQL.wixobj

完全な SampleSQL をダウンロードすることが出来ます。

訳註:SampleSQL の日本語版は Sample-7-1-SQL.zip です。

↑ 先頭  |  • 目次  |  « 前へ  |  次へ »  |  ∗ 原文

Table of Contents

1 始めよう

  1. ソフトウェア・パッケージ
  2. 中に入るファイル
  3. 使用に供する
  4. 便利な追加機能
  5. どこにインストールするか
  6. 条件付きインストール
  7. ファイルだけでなく
  8. 削除時の孤児化

2 ユーザー・インタフェイス

  1. 最初のステップ
  2. カスタムの設定
  3. UI の魔法
  4. 英語はわかりますか
  5. チェーンの新しい環
  6. 地域化を考える

3 イベントとアクション

  1. 列に並んで
  2. 追加のアクション
  3. 本に書かれていないこと
  4. コントロールをコントロールせよ
  5. マネージする方法
  6. 後の段階で

4 アップグレードとモジュラー化

  1. 古いのを探す
  2. 自分自身を置き換える
  3. パッチワーク
  4. 断片
  5. 融合するもの

5 Net と .NET

  1. .NET の枠組み
  2. ブートストラップ
  3. インターネットを起動する
  4. ウェブ・ディレクトリ
  5. サービスの提供

6 COM、式の構文、その他

  1. 違う色のコンポーネント
  2. 式の構文
  3. 書式指定文字列
  4. DDE 接続
  5. ディレクトリの作成
  6. 複数メディアのインストーラ
  7. プログラムの追加と削除の項目
  8. 新顔のユーザー
  9. 環境に優しく
  10. XML
  11. COM+ アプリケーション
  12. バージョンごとに

7 SQL

  1. データベースを作成する

8 ユーザー・インタフェイス再び

  1. 一つだけのダイアログ
  2. チューニング・アップ
  3. 相互作用
  4. カスタマイズがいっぱい
  5. これが進捗ですか
  6. よく出来ました
  7. 法律用語
  8. 順番外
  9. 英語はわかりませんか

9 トランスフォーム

  1. インストーラを変形する

10 標準ライブラリ

  1. カスタム・アクションとユーザー・インタフェイス
  2. お静かに願います