• 締切済み

VC++でDBプリコンパイルも同時に行うことは可能?

C言語でプログラミングして、コマンドラインでDBのプリコンパイルを行い、 バインドされたファイルをCV++でコンパイルしているのですが、CV++でプリコンパイルを行い、コンパイルできないものでしょうか?あれば教えて欲しいですが、また 上記方法が記述されているHPまたは本があれば教えてください。

みんなの回答

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.4

> ただ、カスタムビルドセットアップの実行中に > VC++のビルドが終わるため、バインドされたファイルが有効になりません。 そのプロジェクトの構成ファイルに、バインドの出力ファイル(補足だと aaa.c)は 含まれてますか? > 出力ファイル欄には > $(aaa.c) 出力ファイルは、$(aaa.c) ではなく、aaa.c ですよね? ヘルプに書いてある lex/yacc の例も、Cのソースを生成して、それをコンパイルして という手順で実行プログラムを作るものだから、いけると思うんだけどなあ。 ちょこちょこ調べているうちに、参考URLのページなんかを見つけました。 何かの参考になれば…

参考URL:
http://www-6.ibm.com/jp/software/data/developer/library/manual/db2online/db2ax/index.htm
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.3

> やってみたのですが、db2のコマンドが実行出来ないみたいです db2 prep や bind で、エラーが出てるんでしょうか? 多分、コマンド毎に別プロセスとして起動されているので、db2 connect が 有効になってないんでしょうね。 三つのコマンドをひとつのバッチファイルにまとめて、それをカスタムビルドの コマンドとして実行してみてはどうでしょうか?

akinosuke
質問者

補足

ありがとうございます。カスタムビルドのビルドコマンドにdb2cmd aaa.bat でバインドを行う事ができました。ただ、カスタムビルドセットアップの実行中に VC++のビルドが終わるため、バインドされたファイルが有効になりません。 バインド後にビルド(コンパイル及びリンク)を行うのには、どうしたらいいのでしょか? 度々すみません。。。 カスタムビルドの設定は ビルドコマンド欄には db2cmd aaa.bat 出力ファイル欄には $(aaa.c) aaa.batの記述は db2 connect to XXXXXX user DB2 using XXXXXXX db2 prep aaa.sqc bindfile db2 bind aaa.bnd

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

> 上記をVC++カスタムビルドにどのように設定したらよいのでしょうか? そのまま打っちゃって大丈夫ですよ。バインドされたファイルの置き場所なんかを プロジェクトの定義に合わせたいのであれば、「ディレクトリ」とか「ファイル」 と書かれたボタンを押すと、それを意味するマクロが挿入されます。 ヘルプのクエリーで「カスタムビルド」をキーワードに検索をかけると、 ユーザーズガイドの中でヘルプが見つかります。そこを読めば、きっと 分かりますよ。

akinosuke
質問者

補足

ありがとうございます。やってみたのですが、db2のコマンドが実行出来ないみたいです。 エラーメッセージとして”DB21061E コマンド行環境は初期化されていません。”と 出力されます。何かお呪いが必要なのでしょうか? ちなみに開発環境をNT、BD2はNTサーバです。 現在バインド方法はDB2 Windows NT版のコマンドウィンドウからコマンドラインで作成しています。

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

なんか、書いてあることが良く分かりませんが、VC++ の統合環境で ビルドっ って やれば、SQL のプリコンパイルも勝手にやって欲しいなあ、ということですよね。 できますよ。 プロジェクトの設定のダイアログに「カスタムビルド」ってタブがあるんですけど そこで設定が出来ます。というわけで、 > また上記方法が記述されているHPまたは本があれば教えてください の一番確実なところは VC のヘルプだったりします。

akinosuke
質問者

補足

やりたい事は、その通りです。現状バインドファイルを作成するときは、db2のコマンドライン からdb2 connect to XXXX user DB2 using XXXX   db2 prep Cソース名.sqc bindfile   db2 bind Cソース名.bnd を打ってます。 上記をVC++カスタムビルドにどのように設定したらよいのでしょうか?

関連するQ&A