式言語
ODBC.INI ファイル (または同等のファイル) のデータソース情報を使用して、適切な ODBC ドライバを起動します。起動されたドライバは、指定された DBMS を特定し、指定されたコマンドを渡し、そのコマンドによって取り出されたデータを返します。
メモ @DbCommand は、ODBC データソースおよび SELECT ステートメントと共に使用する場合にのみ機能します。結果セットを取得しないステートメントと共に @DbCommand を使用した場合は、ステートメントの転送のみが行われます。より広範なやりとりをするには、LotusScript の ODBC 機能を使用します。
構文
@DbCommand( "ODBC" :cache ; data_source ; user_ID1 :user_ID2 ; password1 :password2 ; command_string :null_handling )
パラメータ
"ODBC"
valuesFound
データソースを指定する
データソース名は、最大 32 文字の英数字で指定します。
@DbCommand では、ODBC.INI ファイル (Windows 以外のプラットフォームの場合は同様のレジストリ) に登録済みのデータソースにアクセスできます。
ID とパスワードを指定する
これらの引数は、DBMS で必要な場合にのみ指定します。
ID を @DbCommand 式に保存する代わりに、Null 文字列 ("") を使用できます。ID が必要なときは、ユーザーに ID の入力を要求するプロンプトが表示されます。これは、自分の ID を他の設計者に見られたくない場合や、外部データにアクセスするときにユーザーに自分の ID を入力させたい場合に便利です。ただし、自動的に実行される式 (エージェントなど) には、必ず ID とパスワードを指定します。このような式は、情報の入力を要求しないからです。
データベースが開いたままのときは、データソースにアクセスするためのユーザー ID とパスワードの入力は、Lotus Domino のデータベースセッションごとに一度だけ必要です。ユーザーが Lotus Domino の別のデータベースを開いて同じデータソースにアクセスする式を実行する場合は、ユーザー ID とパスワードをもう一度入力する必要があります。
パスワードパラメータは、ID パラメータを指定した場合に限り必要となります。ID と同様に、パスワードを @DbColumn 式に保存することも、代わりに Null 文字列を使用してユーザーに入力させることもできます。データベースパスワードが Null の場合は、式から省略できます。
たとえば、ID とパスワードを完全に指定する場合は、次のように入力します。
コマンド文字列を指定する
command_string には、次のいずれかを指定します。
Null の扱い方を指定する
Null 値の処理を制御するには、次のオプションを 1 つ指定し、コロンを付けて command_string パラメータに追加します。
Null values found - canceling @Db function
メッセージだけでデータは返されません。
Caution: Null 値は @Db リストから除外されます。
@DbCommand 式を実行したときに値が置換された場合は、ステータスバーに次のメッセージが表示されます。
Caution: Null 値は@Db リストにあるユーザー定義値に置換されます。
通常、置換する値にはリストにありそうにない有効な値を指定します。たとえば、列が文字列の場合は、置換する値として「***」を指定すれば、置換された値を簡単に見つけられます。
@DbCommand は、64KB を超えるデータを返すことはできません。次の公式を使用して、@DbCommand で返されるデータ量を求めます。
2 + (2 * 返されるエントリ数) + 全エントリの合計文字列サイズ
各文字列は 511 バイトに制限されています。文字列が 1 つだけ返される場合は、64KB に制限されます。
(10 * 返されるエントリ数) + 6
NoExternalApps=1
@DbCommand 式は無効になります。この場合、式が失敗するだけでエラーメッセージは表示されません。
使用法
@DbCommand は、不等号の関係 (より小さいなど) を調べる場合や、複数の条件を同時に調べる場合に便利です。@DbCommand を使用するには、コマンドを処理用のバックエンドデータベースに渡します。
たとえば、次のようなレコードのデータを返すものとします。
BALANCE >= 1000.00 and DAYS_OVERDUE > 30
この場合、選択ステートメントを SQL で記述し、次に @DbCommand を使用してそのステートメントを DBMS に渡し、処理を行います。要求したデータが @DbCommand から返されます。
Web アプリケーションでこの関数を使用する場合は、次の構文のみが可能です。
@DbCommand("Domino";"ViewNextPage")
または
@DbCommand("Domino";"ViewPreviousPage")
これによって、ビューの次または前のページへのリンクが作成されます。Web アプリケーションでは、これ以外の場所では @DbCommand は使用できません。
メモ Web アプリケーションでこのコマンドをページや文書のアクションから呼び出した場合は、埋め込みビューが影響を受けます。
例 関連項目