ページの先頭行へ戻る
Symfoware Server V10.0.0/V10.0.1 アプリケーション開発ガイド(埋込みSQL編)

6.2.2 コンパイル・リンクのための環境設定

アプリケーションをコンパイル・リンクするためには、作業に先立って必要な環境を設定しておく必要があります。設定すべき環境には、以下のものがあります。

環境変数の設定

アプリケーションをコンパイルするときに必要に応じて設定する環境変数を以下に示します。これらの環境変数を設定しておくことにより、コンパイル時にsqlccまたはsqlcobolでオプションを指定する必要がなくなります。

表6.8 アプリケーションをコンパイル・リンクする場合に必要に応じて設定する環境変数

環境変数名

意味

RDBDB

アプリケーションで指定するデータベース名を指定します。

環境変数“RDBDB”の設定の例を以下に示します。

set RDBDB=DB1

SQLPC

(Cプログラム時)

コンパイル時の起動オプションを指定します。起動オプションには、以下のものがあります。

  • -I:インクルードファイルのディレクトリ

  • -d:データベース名

  • -R:SQL文の予約語とSQL機能のレベルをSQL88でコンパイルする場合に指定

  • -W:SQL文の予約語とSQL機能のレベルを指定(注)

  • -C:固定長文字列型のホスト変数に対してアプリケーションの実行時に、NULL文字(\0)を意識した処理をする場合に指定

  • -v9:64ビットで実行するSQL埋込みCプログラムをコンパイルする場合に指定

  • -T:マルチスレッド環境で動作するまたはセションを操作する関数を利用するSQL埋込みCプログラムをコンパイルする場合に指定

環境変数“SQLPC”の設定の例を以下に示します。

set SQLPC=-I C:\USERS\DEFAULT\INCLUDE

SQLPCOB

(COBOLプログラム時)

コンパイル時の起動オプションを指定します。起動オプションには、以下のものがあります。

  • -I:インクルードファイルのディレクトリ

  • -d:データベース名

  • -R:SQL文の予約語とSQL機能のレベルをSQL88でコンパイルする場合に指定

  • -W:SQL文の予約語とSQL機能のレベルを指定(注)

  • -Z:COBOLソース単位がクラス定義(オブジェクト指向プログラミング機能)の場合に指定

  • -A:SQL埋込みCOBOLプログラム中に単一の引用符を記述する場合に指定

  • -f:SQL埋込みCOBOLプログラムが固定形式の場合に指定

  • -n:SQL埋込みCOBOLプログラム中の英小文字を英大文字として扱わない場合に指定

  • -G:SQL埋込みCOBOLプログラム中に集団項目を使用する場合に指定

  • -E1:SQL埋込みCOBOLプログラム中に集団項目繰り返しを使用する場合に指定

  • -g:エラーメッセージにSQL埋込みプログラムの行番号を出力する場合に指定

  • -un:アプリケーションの文字コード系としてUNICODEを使用する場合に指定

  • -T:マルチスレッド環境で動作するSQL埋込みCOBOLプログラムをコンパイルする場合に指定

  • -v9:64ビットで実行するSQL埋込みCOBOLプログラムをコンパイルする場合に指定

環境変数“SQLPCOB”の設定の例を以下に示します。

set SQLPCOB=-I C:\USERS\DEFAULT\INCLUDE

INCLUDE

インクルードファイルのディレクトリを指定します。

環境変数“INCLUDE”は、アプリケーション中にINCLUDE文を記述した場合に、Cプログラムの場合は環境変数“SQLPC”と、COBOLプログラムの場合は、環境変数“SQLPCOB”と併用して設定できます。

環境変数の指定がない場合は、Cプログラム時は環境変数“SQLPC”およびコンパイル時だけ有効となり、COBOLプログラム時は環境変数“SQLPCOB”およびコンパイル時だけ有効となります。

環境変数“INCLUDE”の設定の例を以下に示します。

set INCLUDE=C:\USERS\DEFAULT\INCLUDE;C:\USERS\DEFAULT\INCLUDE2

注) -Wオプションに指定する値と、その値で利用可能なSQLの機能の関係は以下のとおりです。

-Wオプション

SQL機能

-W2007

XMLQUERY関数

述語

XMLEXISTS述語

ROWNUM

-W2000および-W2007

ファンクションルーチン

ロール

プロシジャ例外事象

条件宣言

ハンドラ宣言

SIGNAL文

RESIGNAL文

-W96、-W2000および-W2007

トリガ

行識別子

並列指定

-W95、-W96、-W2000および-W2007

プロシジャルーチン

-W92、-W95、-W96、-W2000および-W2007

定数

日時定数

時間隔定数

データ型

日時型

時間隔型

BLOB型

順序定義

一時表定義

数値関数

POSITION

EXTRACT

CHAR_LENGTH

CHARACTER_LENGTH

OCTET_LENGTH

データ列値関数

SUBSTRING

UPPER

LOWER

TRIM

日時値関数

CURRENT_DATE

CURRENT_TIME

CURRENT_TIMESTAMP

CAST指定

CASE式

NULLIF

COALESCE

CASE

結合表

カーソルのSCROLL指定

ただし、環境変数RDBDBを指定した場合、またはSQLPCおよびSQLPCOBのコンパイル時の起動オプションに-dを指定した場合、そのアプリケーションからCONNECT文を実行することはできません。

アプリケーションをCOBOLで作成する場合

COBOLプログラムのコンパイルのための環境変数の定義が必要となります。

参照

COBOLプログラムのコンパイルのために必要な環境変数の定義については、“NetCOBOL使用手引書”または“COBOL97使用手引書”を参照してください。

アプリケーションをC言語で作成する場合

アプリケーションの対象プラットフォーム用のVisual C++ツールセットが動作するように環境を設定してください。

Microsoft(R) Visual Studio 2008での作成手順の例を以下に示します。

  1. [スタート]メニューから、[プログラム(P)]で[Microsoft Visual Studio 2008]の[Visual Studio Tools]を選択します。

  2. 表示されたメニューから、対象プラットフォームに対応した項目を選択します。

    • Visual Studio 2008 コマンド プロンプト

    • Visual Studio 2008 Itanium Cross Tools コマンド プロンプト

    • Visual Studio 2008 x64 Cross Tools コマンド プロンプト

    Windows Server(R) 2003 for Itanium、Windows Server(R) 2008 for ItaniumまたはWindows Server(R) 2008 R2 for Itaniumの場合

    [Visual Studio 2008 Itanium Cross Tools コマンドプロンプト]を選択します。Itanium向けのコンパイラやリンカを使うための環境が整ったコマンドプロンプトが開きます。

    参照

    Visual C++ツールセットの設定方法については、“Microsoft(R)Visual C++のドキュメント”を参照してください。

注意

Windows(R)において、Symfoware/RDBまたはEsqlのインストールにより、アプリケーションのコンパイル・リンクに必要な環境変数“INCLUDE”および“LIB”が、自動的にシステム環境変数に設定されます。

ユーザ環境変数に“INCLUDE”および“LIB”を設定する場合、それぞれのユーザ環境変数の最後に“;%INCLUDE%”および“;%LIB%”を設定しシステム環境変数が継承されるようにしてください。

ユーザ環境変数“INCLUDE”の場合 : ~;%INCLUDE%

ユーザ環境変数“LIB”の場合 : ~;%LIB%

作業用のディレクトリ構成

アプリケーションのコンパイル・リンクで参照あるいは作成するファイルを格納するための、作業用のディレクトリ構成を決めます。ディレクトリ構成は、開発および保守のしやすさを考慮して作成してください。

本章でアプリケーションのコンパイル・リンクの例を示す場合、作業用のディレクトリは以下の構成で作成されているものとします。

図6.7 作業用のディレクトリ構成の例