Hitachi

Hitachi Advanced Data Binder AP開発ガイド


16.4.1 SQLDataSources,SQLDataSourcesW

〈この項の構成〉

(1) 機能

次の情報を返します。

この関数は,ドライバマネージャで実行できます。HADB ODBCドライバでは,常にSQL_SUCCESSを返す関数としてSQLDataSourcesまたはSQLDataSourcesWを提供しています。

(2) 形式

(3) 引数

EnvironmentHandle

環境ハンドルを指定します。

Direction

ドライバマネージャがデータソースの情報を取得するときの読み込み方式を指定します。次の値を指定できます。

  • SQL_FETCH_FIRST:一覧の先頭からデータソース名(以降DSN)をフェッチします(ユーザDSN,システムDSNの両方)。

  • SQL_FETCH_FIRST_USER:最初のユーザDSNをフェッチします。

  • SQL_FETCH_FIRST_SYSTEM:最初のシステムDSNをフェッチします。

  • SQL_FETCH_NEXT:一覧の中の次のDSNをフェッチします。対象となるのはFIRSTでフェッチ対象としたDSNと同じ種類のものです(ユーザDSNとシステムDSNの両方,ユーザDSNだけ,またはシステムDSNだけ)。

ServerName

データソース名を返すバッファへのポインタを指定します。

BufferLength1

*ServerNameバッファの長さを指定します。指定が有効になる最大値はSQL_MAX_DSN_LENGTHにNULL終端文字分を足した値です。それより大きい値を指定しても前述の最大値が指定されます。この長さにNULL終端文字は含まれます。

NameLength1Ptr

*ServerNameの有効な長さの合計を格納するバッファへのポインタを指定します。この長さにNULL終端文字は含まれません。

重要

ここに格納されたデータソース名の長さが,BufferLength1からNULL終端文字分を引いた長さより大きい場合,*ServerNameに格納される文字列はBufferLength1からNULL終端文字分を引いた長さに切り捨てられ,末尾にNULL終端文字が付加されます。

Description

データソースに関連づけられたドライバの記述(HADBサーバなど)を返すバッファへのポインタを指定します。

BufferLength2

* Descriptionバッファの長さを指定します。

この長さにNULL終端文字は含まれます。

NameLength2Ptr

*Descriptionに返す有効な長さの合計を格納するバッファへのポインタを指定します。この長さにNULL終端文字は含まれません。

重要

ここに格納されたドライバの記述の長さが,BufferLength2からNULL終端文字分を引いた長さより大きい場合,* Descriptionに格納される文字列はBufferLength2からNULL終端文字分を引いた長さに切り捨てられ,末尾にNULL終端文字が付加されます。

注※

長さの単位は,SQLDataSourcesの場合はバイト長,SQLDataSourcesWの場合は文字数となります。

(4) 戻り値

SQL_SUCCESSが返されます。

(5) SQLSTATE

この関数では次のSQLSTATEを返します。

SQLSTATE

説明

備考

返却

01000

一般警告

×

01004

文字列データの右側が切り捨てられた

×

HY000

一般エラー

×

HY001

メモリ割り当てエラー

×

HY013

メモリ管理エラー

×

HY090

無効な文字列長または無効なバッファ長

×

HY103

無効な取得コード

×

(凡例)

×:HADB ODBCドライバが返さないSQLSTATEです。

−:なし。