[
|../../index.htm#lansa/depb7_0040.htm]
現在地:
17.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 |
テーブルを作成するデータベースまたはデータソースの名前。 |
3 |
コミットメント・オプション。テーブルが正常に作成された後、コミット操作を発行するかどうかを、Y または N で示します。 このパラメータは常に Y に設定しておきます。 |
4 |
レポート・オプションY、N、または F を指定して、RUNSQL が利用するレポートのレベルを示します。 Y = すべてのメッセージと警告のレポート N = メッセージと警告のレポートはしない F = 致命的なメッセージのみレポート |
5 |
データベース・タイプ。この値を使って、 ...\x_win95\x_lansa 内の X_DBMENV.DAT ファイルのデータベース特性を探し出します。 提供される標準のデータベース・タイプは以下の通りです。 - SQLANYWHERE (Sybase Adaptive Server Anywhere および Sybase SQL/Anywhere) |
6 |
指定のデータベースまたはデータソースに接続を試みる際に使用する、ユーザーID/パスワード。 このパラメータはセキュリティ接続利用時でも必要です。 セキュリティ接続の場合、例えば、SA/TEST を入力して、データベースまたはデータソースの接続時にユーザーID SA、パスワード TEST を使用するように指定できます。(提供された値は使用されません。) |
7 |
X_DBMENV.DAT ファイルが存在するディレクトリを次のように指定します: ...\x_win95\x_lansa |
8 |
新規コレクションの名前。このパラメータを無視するには、*DEFAULT を指定します。 |
9 |
任意。 CTD 接続データ・オプション。 .ctd ファイルに含まれる接続情報を利用する場合は、Y を指定します。インポート・テーブルにのみ、.ctd ファイルに接続データが含まれます。 使用しない場合は、N またはブランクにします。 |
10 |
任意。 ユーザー ID/パスワード・オプションのプロンプト・オプション。 .ctd ファイルのユーザー ID とパスワードを使用する場合は Y です。 |
位置非固定のパラメータ
OLDCTD= |
旧 .ctd ファイル名。前回テーブルの作成/変更に使用された .ctd ファイルです。新旧の .ctd ファイルは比較され、変更部分または新規の列が既存データを削除することなく、テーブルに追加されます。 |
位置非固定のパラメータは、他の引数とスペースをあけてで分けることで、コマンド行のどこにでも置くことができます。
例えば、ディレクトリ x_Lansa\source から実行されたこのコマンドは、myfile.ctd と myfile_old.ctd を比較して、テーブルに変更を加えます。このコマンドは、親ディレクトリ (この例では、 x_lansa ディレクトリ) から x_dbmenv.dat も使用することに注意してください。 Runsql "…\myfile.ctd" LX_LANSA Y Y MSSQLS uid/pswd "…\x_win95\x_lansa"
[
|../../index.htm#lansa/depb7_0040.htm]