Hitachi

Hitachi Advanced Data Binder AP開発ガイド


16.3.2 SQLConnect,SQLConnectW

〈この項の構成〉

(1) 機能

HADB ODBCドライバとデータソース(HADBサーバ)の接続を確立します。

なお,SQLConnectまたはSQLConnectWを実行するにはCONNECT権限が必要です。

(2) 形式

(3) 引数

ConnectionHandle

コネクションハンドルを指定します。

ServerName

データソース名を指定します。

NameLength1

データソース名の長さを指定します。

データソース名がNULL終端文字で終わる場合は,SQL_NTSを指定する必要があります。

また,0や負の値を指定した場合は,エラーとなります。

UserName

HADBサーバに接続するユーザID(認可識別子)を指定します。

NameLength2

ユーザIDの長さを指定します。

ユーザIDがNULL終端文字で終わる場合は,SQL_NTSを指定する必要があります。

また,0や負の値を指定した場合は,エラーとなります。

Authentication

HADBサーバに接続する認可識別子のパスワードを指定します。NULLを指定した場合は,エラーとなります。

ODBC実装規約によって,パスワードには,[]{}(),;?*=!@の13種類の文字は含めないことを推奨します。HADBのパスワードについては,マニュアルHADB システム構築・運用ガイドパスワードの指定規則を参照してください。

NameLength3

パスワードの長さを指定します。

パスワードがNULL終端文字で終わる場合は,SQL_NTSを指定する必要があります。

負の値または256以上の値を指定した場合は,エラーとなります。

また,Authenticationに256バイト以上の文字列を指定し,かつ,この引数にSQL_NTSを指定した場合は,エラーとなります。

注※

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

(4) 戻り値

SQL_SUCCESSSQL_ERROR,またはSQL_INVALID_HANDLEが返されます。

(5) SQLSTATE

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

SQLSTATE

説明

備考

返却

01000

一般警告

×

01S02

オプション値の変更

×

08001

クライアントが接続を確立できない

×

08002

接続名が使用中である

08004

サーバが接続を拒否した

×

08S01

通信リンク失敗

×

28000

無効な認証指定

5C002

文字コードの変換エラー

変換できない文字コードを検出しました。

5C052

バージョン不一致エラー

ODBCドライバとHADBクライアントのバージョンが異なります。

5D001

HADB固有のエラー

HADBでエラーが発生しましたが,固有のSQLSTATEまたはエラーメッセージが取得できません。

HY000

一般エラー

×

HY001

メモリ割り当てエラー

×

HY010

関数シーケンスエラー

HY013

メモリ管理エラー

×

HY090

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

HYT00

タイムアウト終了

×

HYT01

接続タイムアウト終了

×

IM001

ドライバはこの関数をサポートしていない

×

IM002

データソースが見つからない

かつ

デフォルトのドライバが指定されていない

×

IM003

指定されたドライバがロードできない

×

IM004

ドライバがSQL_HANDLE_ENVに対するSQLAllocHandleに失敗した

×

IM005

ドライバがSQL_HANDLE_DBCに対するSQLAllocHandleに失敗した

×

IM006

ドライバがSQLSetConnectAttrまたはSQLSetConnectAttrWに失敗した

×

IM009

トランスレータDLLをロードできない

×

IM010

データソース名が長過ぎる

×

(凡例)

○:HADB ODBCドライバが返すことがあるSQLSTATEです。

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

−:なし。