ヘッダーをスキップ
Oracle Rdb SQLリファレンス・マニュアル
リリース7.2
E06178-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 


sql$get_error_text

プログラムで処理するために書式設定されたASCII出力とともにエラー・テキストをプログラムに渡します。

形式


sql$get_error_text (buf [,errmsglen])


戻り値

ベクターのテキストからユーザーのバッファへのコピー操作の結果として生じるステータス・コードです。

引数

buf

テキストを受け取るために宣言されるバッファです。

値: テキストを受け取るために宣言されるバッファのアドレス
データ型: 文字列
受渡しメカニズム: 記述子

errmsglen

返されるエラー・メッセージに割り当てられる文字数です。このパラメータはオプションです。

値: エラー・メッセージに割り当てられる文字数
データ型: ワード
受渡しメカニズム: 参照


説明

sql$get_error_textルーチンは、プログラムで処理するために書式設定されたASCII出力(FAO)置換とともにエラー・テキストをプログラムに渡すときに使用します。

sql$get_error_textルーチンを使用するには、 SQLによって渡されるテキストを受け取るためのバッファ(フィールド)をプログラム宣言に含める必要があります。このフィールドは、RDB$LU_STATUS値に関連するメッセージおよびすべての後続のメッセージで想定される文字数を収容するために十分な長さを持つテキスト文字列として宣言します。オプションとして、バッファ長を個別のフィールドとして宣言(符号付きワードとして定義)できます。


使用方法


関連ルーチン


次の例は、Cプログラムで使用されるsql$get_error_textルーチンを示しています。


/* This function uses the sql$get_error_text routine to display the
*  messages returned by various facilities for unexpected error conditions
*  that occur.  This program continues after these unexpected errors occur,
*  and allows the user to select the exit program option on the menu.

    void display_sqlget_message(void)

    {

    char    get_error_buffer[301];
    short    error_msg_len;

    t_dsc.dsc$b_class = DSC$K_CLASS_S;
    t_dsc.dsc$b_dtype = DSC$K_DTYPE_T;
    t_dsc.dsc$w_length = 300;
    t_dsc.dsc$a_pointer = (char *) (&get_error_buffer);
    return_status = SQL$GET_ERROR_TEXT(&t_dsc,&error_msg_len);
    get_error_buffer[error_msg_len] = '\0';
    printf("\n\nThis condition was not expected.\n\n");
    printf("%s",get_error_buffer);
    release_screen = getchar();
    printf("\n");

    return;
    }