unsigned int db_start_engine( SQLCA * sqlca, char * parms );
sqlca SQLCA 構造体へのポインタ。詳細については、SQLCA (SQL Communication Area)を参照してください。
parms NULL で終了された文字列で、KEYWORD=value 形式のパラメータ設定をセミコロンで区切ったリストが含まれています。次に例を示します。
"UID=DBA;PWD=sql;DBF=c:\\db\\mydatabase.db" |
接続パラメータのリストについては、接続パラメータを参照してください。
データベース・サーバが実行されていない場合、データベース・サーバを起動します。
この関数によって実行されるステップの説明については、データベース・サーバの検出を参照してください。
データベース・サーバがすでに実行している場合、または正しく起動した場合、戻り値は TRUE (0 以外) であり、SQLCODE には 0 が設定されます。エラー情報は SQLCA に返されます。
次に示す db_start_engine の呼び出しは、データベース・サーバを起動して demo という名前を付けます。ただし、DBF 接続パラメータの指定にかかわらずデータベースはロードしません。
db_start_engine( &sqlca, "DBF=samples-dir\\demo.db;START=dbeng11" ); |
サーバとともにデータベースも起動する場合は、次に示すように StartLine (START) 接続パラメータにデータベース・ファイルを含めてください。
db_start_engine( &sqlca, "ENG=eng_name;START=dbeng11 samples-dir\\demo.db" ); |
この呼び出しは、サーバを起動して eng_name という名前を付け、そのサーバで SQL Anywhere サンプル・データベースを起動します。
db_start_engine 関数は、サーバを起動する前にサーバに接続を試みます。これは、すでに稼働しているサーバに起動を試みないようにするためです。
ForceStart (FORCE) 接続パラメータは、db_start_engine 関数のみが使用します。YES に設定した場合は、サーバを起動する前にサーバに接続を試みることはありません。これにより、次の 1 組のコマンドが期待どおりに動作します。
server_1 と名付けたデータベース・サーバを起動します。
start dbeng11 -n server_1 demo.db |
新しいサーバを強制的に起動しそれに接続します。
db_start_engine( &sqlda, "START=dbeng11 -n server_2 mydb.db;ForceStart=YES" ) |
ForceStart (FORCE) を使用せず、ServerName (ENG) パラメータも指定されていない場合、2 番目のコマンドでは server_1 に接続しようとします。db_start_engine 関数を実行しても、StartLine (START) パラメータの -n オプションでサーバ名を取得することはできません。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |