表5-4は、SQLLIB関数名を示しています。これらのSQLLIB関数は、スレッド・アプリケーションでも非スレッド・アプリケーションでも使用できます。たとえば、従来は、sqlglm()
は、この関数の非スレッド・バージョンまたはデフォルト・コンテキスト・バージョンで、sqlglmt()
は、スレッド・バージョンまたは非デフォルト・コンテキスト・バージョンで、最初の引数としてコンテキストを指定していました。sqlglm()
およびsqlglmt()
の名前は、引き続き使用可能です。新しい関数SQLErrorGetText()
には、sqlglmt()
と同じ引数が必要です。非スレッドまたはデフォルト・コンテキスト・アプリケーションでは、定義した定数SQL_SINGLE_RCTXをコンテキストとして渡してください。
標準SQLLIBパブリック関数はいずれもスレッド・セーフであり、ランタイム・コンテキストを最初の引数として受け入れます。たとえば、SQLErrorGetText()
の構文は次のとおりです。
void SQLErrorGetText(dvoid *context, char *message_buffer, size_t *buffer_size, size_t *message_length);
つまり、古い関数名は既存のアプリケーションでそのまま使用できます。新しく作成するアプリケーションでは、新しい関数名を使用できます。
表5-4は、すべてのSQLLIBパブリック関数とそれに対応する構文を示しています。非スレッドまたはデフォルト・コンテキストの使用方法に関する相互参照も用意されているため、より詳細な説明が必要な場合に参照してください。
表5-4 SQLLIBパブリック関数 - 新しい名前
古い名前 | 新しい関数プロトタイプ | 相互参照 |
---|---|---|
|
struct SQLDA *SQLSQLDAAlloc(dvoid *context, unsigned int maximum_variables, unsigned int maximum_name_length, unsigned int maximum_ind_name_length); |
SQLDAの割当ても参照してください。 |
|
void SQLCDAFromResultSetCursor(dvoid *context, Cda_Def *cda, void *cursor, sword *return_value); |
OCIでのカーソル変数の使用(リリース7のみ)も参照してください。 |
|
void SQLSQLDAFree(dvoid *context, struct SQLDA *descriptor_name); |
記憶域の割当て解除も参照してください。 |
|
void SQLCDAToResultSetCursor(dvoid *context, void *cursor, Cda_Def *cda, sword *return_value) |
OCIでのカーソル変数の使用(リリース7のみ)も参照してください。 |
|
void SQLErrorGetText(dvoid *context, unsigned char *message_buffer, size_t *buffer_size, size_t *message_length); |
エラー・メッセージの全文の取得についても参照してください。 |
|
void SQLStmtGetText(dvoid *context, char *statement_buffer, size_t *statement_length, size_t *sqlfc); |
SQL文のテキスト取得についても参照してください。 |
|
void SQLLDAGetName(dvoid *context, Lda_Def *lda, text *cname, int *cname_length); |
OCIコール(リリース7のみ)も参照してください。 |
|
void SQLLDAGetCurrent(dvoid *context, Lda_Def *lda); |
リモートの複数接続も参照してください。 |
|
void SQLColumnNullCheck(dvoid *context, unsigned short *value_type, unsigned short *type_code, int *null_status); |
NULL/NOT NULLデータ型の処理も参照してください。 |
|
void SQLNumberPrecV6(dvoid *context, unsigned long *length, int *precision, int *scale); |
精度と位取りの抽出も参照してください。 |
|
void SQLNumberPrecV7(dvoid *context, unsigned long *length, int *precision, int *scale); |
精度と位取りの抽出も参照してください。 |
|
void SQLVarcharGetLength(dvoid *context, unsigned long *data_length, unsigned long *total_length); |
VARCHAR配列コンポーネントの長さを調べる方法も参照してください。 |
|
sword SQLEnvGet(dvoid *context, OCIEnv **oeh); |
SQLEnvGet()を参照してください。 |
|
sword SQLSvcCtxGet(dvoid *context, text *dbname, int dbnamelen, OCISvcCtx **svc); |
SQLSvcCtxGet()を参照してください。 |
|
void SQLRowidGet(dvoid *context, OCIRowid **urid); |
SQLRowidGet()を参照してください。 |
|
void SQLExtProcError(dvoid *context, char *msg, size_t msglen); |
外部プロシージャで使用する場合は、SQLExtProcError()を参照してください。 |
注意:
これらの関数の引数リストで使用される特定のデータ型については、プラットフォーム固有のバージョンのsqlcpr.h
ヘッダー・ファイルを参照してください。
関連項目: