16.5 RUNSQL ユーティリティ

16.5.1 構成時の注意 – テーブルおよびインデックスの作成

すべての Visual LANSA システムでは、RUNSQL と呼ばれるユーティリティが提供されています。

サポートされる DBMS システムであれば、RUNSQL を利用してテーブル定義を自動的に作成することができます。

テーブルのコンパイル時に Visual LANSA により作成さる RUNSQL は、.CTD (Common Table Definition File 共通テーブル定義ファイル) と組み合わせることで、サポートされる異なる DBMS システム間の (データではなく) テーブル定義の移動に必要な基本の構成要素を作り上げます。

RUNSQL の働きを理解するには、次の図を参照してください。

例えば、PSLMST という名前の (開発環境で既に定義され、コンパイル済の) テーブルの定義を別の DBMS に移動しようとする場合、この図に示されている主要なポイントは以下の通りです。

RUNSQL はシンプルなプログラムで、以下のような位置固定、位置非固定のパラメータがあります。

1

作成されるテーブルの定義が含まれる .ctd (共通テーブル定義) ファイルの (修飾された) 名前。Windows の開発環境でテーブルを作成する度に共通テーブル定義が作成されます。
.ctd ファイルは、ディレクトリ X_LANSA\X_ppp\SOURCE (PPP は区画識別子) にあります。

2

テーブルを作成するデータベースまたはデータソースの名前。通常はこのパラメータは LX_LANSA として引き渡されます。

3

コミットメント・オプション。テーブルが正常に作成された後、コミット操作を発行するかどうかを、Y または N で示します。
このパラメータは常に Y に設定しておきます。

4

レポート・オプションY、N、または F を指定して、RUNSQL が利用するレポートのレベルを示します。
Y = すべてのメッセージと警告のレポート
N = メッセージと警告のレポートはしない
F = 致命的なメッセージのみレポート

5

データベース・タイプ。この値を使って、指定の "X_DBMENV.DAT" ファイルのデータベース特性を探し出します。
提供される標準のデータベース・タイプは以下の通りです。
-  SQLANYWHERE (Sybase Adaptive Server Anywhere および Sybase SQL/Anywhere)

-  MSSQL (Microsoft SQL/サーバー)

6

指定のデータベースまたはデータソースに接続を試みる際に使用する、ユーザー・プロファイル/パスワード。
例えば、SA/TEST は、データベースまたはデータソースの接続時にユーザー・プロファイル SA、パスワード TEST が使用されます。

7

"X_DBMENV.DAT" ファイルが存在するディレクトリを指定します。

8

コレクションの指定。省略値は .ctd に指定されています。

9

CTD 接続データ・オプションY または N を指定して、.ctd ファイルに含まれる接続情報を使用するかどうかを示します。.ctd ファイルには、PC 用外部ファイルの接続データのみが含まれています。

10

ユーザー ID/パスワード・オプションのプロンプト。Y または N を指定して、.ctd ファイルのユーザー ID とパスワードを使用する (N) か新しい値のセットをプロンプトするか (Y) を示します。CTD 接続データが使用されていない場合は、無視されます。

 

 

位置非固定のパラメータ

OLDCTD=

旧 .ctd ファイル名。前回テーブルの作成/変更に使用された .ctd ファイルです。新旧の .ctd ファイルは比較され、変更部分または新規の列が既存データを削除することなく、テーブルに追加されます。

 

 

位置非固定のパラメータは、他の引数とスペースをあけてで分けることで、コマンド行のどこにでも置くことができます。

例えば、ディレクトリ x_Lansa\source から実行されたこのコマンドは、myfile.ctd と myfile_old.ctd を比較して、テーブルに変更を加えます。このコマンドは、親ディレクトリ (この例では、 x_lansa ディレクトリ) から x_dbmenv.dat も使用することに注意してください。 
..\execute\runsql myfile.ctd OLDCTD=myfile_old.ctd LX_LANSA Y Y SQLANYWHERE DBA/SQL