C言語ソースにホスト変数を宣言したヘッダをインクルードする記述を教えてください。下記の記述をしたのですが、エラーになります。

EXEC SQL INCLUDE SQLCA;
EXEC SQL BEGIN DECLARE SECTION;

#include "../host_header.h"

EXEC SQL END DECLARE SECTION;

A 回答 (3件)

> ファイルが無いとエラーになってしまいました。

。。。

質問に ../host_header.h とあったので、ソースファイルがあるひとつ上に
host_header.h があると思ったのですが、実際にファイルはあるのですか?
    • good
    • 0
この回答へのお礼

できました。ヘッダーファイルがソースの上の別ディレクトリにあったため、
エラーとなっていました。ありがとうございます。

お礼日時:2001/10/10 12:57

EXEC SQL BEGIN DECLARE SECTION ~ END は、SQL のプリプロセッサが


解釈するところなので、Cのディレクティブを理解できないんじゃないで
しょうか?

こんな感じじゃ駄目なのかな?

EXEC SQL BEGIN DECLARE SECTION;
EXEC SQL INCLUDE '../host_header.h'
EXEC SQL END DECLARE SECTION;

# やったことはないので、自信はないです (^^;

この回答への補足

回答ありがとうございます。ただ、やってみたのですが、ファイルが無いとエラーになってしまいました。。。。

補足日時:2001/10/10 11:44
    • good
    • 0

C言語というより、ある種のSQLプリプロセッサだろうと思いますが。


環境やエラーの内容について書いて頂いた方が的確な回答が出ると思います。
とりあえず、C言語(Cプリプロセッサ)のインクルード文としては、
上記の記述で普通は大丈夫です。ただし、ディレクトリを書き込むのではなく、
ソース中では
#include "host_header.h"
のようにして、コンパイルオプション(UNIXのCなら-Iなど)でインクルード
ファイルのディレクトリを指定するのが、より一般的です。

この回答への補足

#include "host_header.h" と記述したのですが、下記のエラーメッセージが出ます。
エラーメッセージは”SQL0008N ホスト変数宣言で見つかった字句 "#" が無効です。”
OSはNTです。

補足日時:2001/10/10 11:13
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ