Connectメソッド
機能
接続先のデータベース名やユーザID,パスワードなどを指定して,データベースに接続します。
また,接続に成功すると,トランザクションを開始します。
形式
void Connect (LPCTSTR lpctUID,
LPCTSTR lpctPWD,
LPCTSTR lpctDBN,
LPCTSTR lpctOPT = NULL,
LPCTSTR lpctAbstractName,
UINT16 swWait = LOCK_OPT_NOWAIT,
UINT16 swTimeout = 0,
UINT16 swSync = STMT_SYNC)
引数
lpctUID
接続先データベースのユーザIDを指定します。
NULLを指定した場合,接続先データベース定義ファイルに指定されたユーザIDを利用します。
SQL/K,又はXDM/SDの場合,Database Connection Serverの認証属性の設定によっては,不正な値を設定してもデータベースに接続できるので注意してください。認証属性の詳細については,マニュアル「Database Connection Server」を参照してください。
TPBrokerのOTSインタフェース,又はOpenTP1連携を使ったトランザクション制御の場合は省略できません。
lpctPWD
接続先データベースのパスワードを指定します。
NULLを指定した場合,接続先データベース定義ファイルに指定されたパスワードを利用します。SQL Anywhere,Adaptive Server Anywhereの場合は,ODBCのデータソース中でパスワードを指定している場合は,そのパスワードを利用できます。
SQL/K,又はXDM/SDの場合,Database Connection Serverの認証属性の設定によっては,不正な値を設定してもデータベースに接続できるので注意してください。認証属性の詳細については,マニュアル「Database Connection Server」を参照してください。
TPBrokerのOTSインタフェース,又はOpenTP1連携を使ったトランザクション制御の場合は省略できません。
lpctDBN
lpctOPT
SDNODE=xxxxx;DBHOST=xxxxx;SNDBUFSZ=xxxxx;RCVBUFSZ=xxxxx
lpctAbstractName
swWait
検索対象のレコードがほかのトランザクションによってロックされている場合の動作を指定します。ここでの指定が,開始するトランザクションでのデフォルト値になります。DBRResultSetクラスのExecuteメソッドの実行時にも指定できます。
SQL/Kの場合は,どの値を指定しても,ロックが解除されるまで待ち状態になります。
XDM/SDの場合は,どの値を指定しても,ロックが解除されるまで待たないで,すぐにエラーを返します。
swTimeout
現在のバージョンでは値を指定しても意味を持ちません。指定を省略する又は0を指定します。
swSync
コネクションごとに,データベースアクセス(SQL文)を同期処理,又は非同期処理のどちらで実行するかを指定します。
STMT_SYNC:SQL文を同期処理で実行します。
STMT_ASYNC:SQL文を非同期処理で実行します。
STMT_ASYNCを指定した場合,実行されるSQL文は,子スレッドで処理されます。
戻り値
なし
機能詳細
接続するデータベースは,Databaseオブジェクトの生成時に指定したデータベース種別名と,このメソッドで指定するデータベース名によって決まります。
このメソッドは,非同期実行可能メソッドです。
接続先データベース定義ファイルの定義内容を使用しないで接続する場合の補足事項
データベースとの接続には,接続先データベース定義ファイルの使用をお勧めしますが,もし接続先データベース定義ファイル中の定義内容を使用しない場合には,引数lpctAbstractName で NULL を指定し,使用するDBMSごとに次の引数の指定が必要です。
ただし,Database Connection Server 経由で接続するデータベース,SQL Server, 及び Adaptive Server Anywhereを使用する場合は,lpctAbstractNameにNULLを指定できません。lpctAbstractNameにNULLを指定しなくても,次の引数に値を指定すれば,接続先データベース定義ファイルの定義内容ではなく,引数に指定した内容で接続します。
HiRDBクライアント環境定義の環境変数指定
HiRDBの場合,HiRDBクライアント環境定義の環境変数をlpctOPTに指定できます。詳細は,「5.4 DBDriver クラスの詳細」のConnectメソッドを参照してください。
発生する例外
DBSQLCA(RetCode)