C言語関係掲示板

過去ログ

No632 CのソースにSQLを書きたい

[戻る] [ホームページ]
No.6582

CのソースにSQLを書きたい
投稿者---terapad(2003/05/21 15:48:12)


こんにちは、terapadです。
CのソースにSQLを記述し、DBにあるテーブルの件数を調べたいのですが、
そのようなことは可能でしょうか?
DBはDB2を使用していて、コンパイルはBorland C++ 5.5.1で行っています。
テーブルの件数分の配列を作成するために使うため、
件数さえ分かれば良く、内容は参照する必要はありません。

どなたかご存知の方、よろしくお願いします。


No.6608

Re:CのソースにSQLを書きたい
投稿者---もぐりん(2003/05/22 14:18:26)


>こんにちは、terapadです。
>CのソースにSQLを記述し、DBにあるテーブルの件数を調べたいのですが、
>そのようなことは可能でしょうか?
>DBはDB2を使用していて、コンパイルはBorland C++ 5.5.1で行っています。
>テーブルの件数分の配列を作成するために使うため、
>件数さえ分かれば良く、内容は参照する必要はありません。
>
>どなたかご存知の方、よろしくお願いします。

DB2との接続方法が解説されているWin32用C++コンパイラーはVC++とC++Builder6だけみたいです。
Borland C++ 5.5.1でDB2に接続できるかは、Borlandに確認してみたら
どうでしょうか?
Borlandでは、Borland C++ 5.5.1専用のニュースグループもある
ようですし。
まずは、ODBC経由で接続できるかを調べてみてはどうでしょうか。




No.6610

Re:CのソースにSQLを書きたい
投稿者---ちぇっこり(2003/05/22 14:26:51)


>>CのソースにSQLを記述し、DBにあるテーブルの件数を調べたいのですが、
>>そのようなことは可能でしょうか?

今のコンパイラで出来るかは要確認ですが、
C言語自体では使用可能です。

EXEC SQL 〜 END-EXCE
で囲まれるSQLをソースに入れて、
プリコンパイル〜バインド〜コンパイルをすれば良いのでは?

あ、接続は調べる必要はあります。

No.6651

Re:CのソースにSQLを書きたい
投稿者---terapad(2003/05/23 00:26:12)


もぐりんさん、ちぇっこりさん、ありがとうございます。
まず現在のコンパイラで可能かどうか調べる必要があるわけですね。
Borlandのほうを調べてみたいと思います。

>EXEC SQL 〜 END-EXCE
>で囲まれるSQLをソースに入れて、
>プリコンパイル〜バインド〜コンパイルをすれば良いのでは?

なるほど、SQLを記述できるんですね。
特別にincludeするヘッダファイルはありますか?
何も知らなくて申し訳ないのですが、
プリコンパイル〜バインド〜コンパイルを
するにはどうしたらいいのでしょうか?
具体的な手順などをご教授いただけたらありがたいです。
使用しているコンパイラによってコマンドなどは違ってくる
ものなのでしょうか?

質問ばかりですみませんが、よろしくお願いします。


No.6653

Re:CのソースにSQLを書きたい
投稿者---もぐりん(2003/05/23 10:12:01)


>>EXEC SQL 〜 END-EXCE
>>で囲まれるSQLをソースに入れて、
>>プリコンパイル〜バインド〜コンパイルをすれば良いのでは?
>
>なるほど、SQLを記述できるんですね。
>特別にincludeするヘッダファイルはありますか?
>何も知らなくて申し訳ないのですが、
>プリコンパイル〜バインド〜コンパイルを
>するにはどうしたらいいのでしょうか?

その特別なincludeファイルが提供されているかを
BorlandとIBMに確認してみてください。
BorlandはC++コンパイラのメーカーで、IBMがDB2のメーカーになります。
C++Builder用に提供されているDB2用のヘッダーが使用できれば
フリーのbcc 5.5.1でも使えるのではないでしょうか。
ヘッダー以外にライブラリが必要になるかもしれませんね。


No.6662

Re:CのソースにSQLを書きたい
投稿者---ちぇっこり(2003/05/23 13:39:16)


>何も知らなくて申し訳ないのですが、
>プリコンパイル〜バインド〜コンパイルを
>するにはどうしたらいいのでしょうか?
>具体的な手順などをご教授いただけたらありがたいです。

DB2の入っている環境は、Windowsですか?
もぐりんさんの言う通り、メーカーに確認した方がいいかもしれません。
ただ手順的(DB2なら)には・・・
   1)DB2にコネクト
       db2 connect to 〜・・・
   2)プリコンパイル
       db2 prep 〜・・・
   3)コンパイル
       bcc32 〜・・・(ボーランドの場合)
   4)バインド
       db2 bind 〜・・・

となります。
sqllibの場所などが必要です。(sqlca,sqlda 等が入ってる)
要調査です。
プリコンパイルなどは、おのおの何をする物かを知っておいた方がいいです。
他の言語でも基本は同じです。
C言語のサブルーチンを他言語で使う場合でも、このコンパイルの仕組みは、同じです。

この辺を詳しく説明しだすと、C言語掲示板の趣旨からは
少し離れるように思いますので、調べて下さい。
DB2のマニュアル等でも調べれると思います。



No.6795

Re:CのソースにSQLを書きたい
投稿者---terapad(2003/05/27 09:39:15)


>DB2の入っている環境は、Windowsですか?

Windows、UNIXの両方で開発しています。

>プリコンパイルなどは、おのおの何をする物かを知っておいた方がいいです。
>他の言語でも基本は同じです。
>C言語のサブルーチンを他言語で使う場合でも、このコンパイルの仕組みは、同じです。

いろいろと知っておく事がありそうですね。
最低限、何をしてるのかを知っておかないといけませんね。

>DB2のマニュアル等でも調べれると思います。

DB2インフォメーションセンターで調べてみました。
SQLを記述する事は可能のようですが、私は内容を理解するのもきびしい感じでした。
組込みSQLについて、やさし〜く解説してある書籍・HPなどありませんでしょうか?
虫が良すぎますね・・・。自分でも、もう少し調べてみたいと思います。