以下の例は、さまざまな外部プロシージャの外部文字列リテラルを示しています。
例1: 外部文字列リテラルの例
以下の例では、ソースをクライアントの絶対ディレクトリprocedure_sourceから入手することを指定します。サーバー上のファイル名およびソース ファイル名は、どちらもsales.cです。Cプロシージャ名はsales1です。
'CS¡sales¡C:\procedure_source\sales.c¡F¡sales1'
例2: 外部文字列リテラルの例
以下の例の場合、オブジェクトはサーバー上の最下位のノードのディレクトリ/home/james/spdev/imagef.oから入手することになります。サーバー上のファイル名は、img.oです。検索するオブジェクトの名前はimagef.oです。
'SO¡img¡/home/james/spdev/imagef.o¡F¡img_match'
例3: 外部文字列リテラルの例
以下の例の場合、プロシージャで使用するヘッダー ファイルsp_types.hとCソース ファイルstdxml.cは、サーバーに存在します。
/home/jcx/headers/sp_types.hはログオンしているユーザーのホーム ディレトクリーまたは現行ディレクトリからヘッダー ファイルへの相対パス、home/jcx/src/stdxml.cはCソース ファイルへの相対パスです。Cソース コード内のプロシージャ名は、stdxmlです。どちらのファイルも、サーバー上で同じ名前を持ちます。
'SI¡sp_types¡/home/jcx/headers/sp_types.h¡SS:stdxml¡home/jcx/src/ stdxml.c¡F¡stdxml'
以下の表に、EXTERNAL NAME句とそのさまざまな構成要素の名前に関する注意点をまとめます。
プロシージャ名 | ソース ファイル名 | DBC.TVMのプロシージャ名 | C/C++プロシージャ名 | 備考 |
---|---|---|---|---|
procedure_name だけ | procedure_name | procedure_name | procedure_name | procedure_nameは、このデータベース内で固有でなければなりません。 |
procedure_name と external_procedure_name (ただし、 'string' | external_procedure_name | procedure_name | procedure_name 'string' または external_procedure_name 'string' の場合ではないです。 |
|
procedure_name と external_procedure_name ( 'string' | source_name('string'に指定した名前) | procedure_name | procedure_name 'string' または external_procedure_name 'string' の場合ではないです。 |