BINDとかGRANTって何? (1)
仕事で飛び交った言葉。C言語に関係するものらしい。
最近ちょっとC言語のコードを読む機会があるので調べてみた。
BIND
とりあえず、このPDFファイルにはこう書いてあった。
バインドとは、データベース・マネージャーがアプリケーションの実行時にデータベースをアクセスするために必
要とするパッケージを作成する処理です。バイディング中、データベース・マネージャーはSQL文で使用されてい
る表に関する統計情報を読み取り解析します。この統計情報からはデータベースをアクセスする最も効率のよい方
法が決定されます。これらのアクセス・プランはデータベースのシステム・カタログの中に保存されます。
わかったようなわからんような... アプリケーションがDBにアクセスするために必要な処理だということはわかったけど。
PDFをちゃんと読むと、組み込みSQLで使うものらしい。ソースコードを実行可能プログラムに変換する過程(ビルド・プロセス)の一つである。
1. データベースへの接続
db2 connect to 〜ってやつですね。
2. プリコンパイル
db2 prep sample.sqc bindfile
このコマンドを使うとsample.cとsample.bndという2つのファイルができる。前者はC言語の入門書でおなじみのソースコードだ! 組み込みSQLを使うにはsqc→cというプリコンパイルが必要なのね。
後者はバインドファイルと言われるもので、この中にSQL文に関する情報が入っているらしい。
3. バインド
db2 bind sample.bnd
ここで表の情報が解析されて、アクセス・プランが決まる。
GRANT
次回で(笑)