Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - プログラミング » SQL Anywhere データ・アクセス API » SQL Anywhere Embedded SQL » ライブラリ関数のリファレンス

 

db_locate_servers 関数

プロトタイプ
unsigned intdb_locate_servers(
SQLCA * sqlca,
SQL_CALLBACK_PARM callback_address,
void * callback_user_data );
説明

TCP/IP で受信しているローカル・ネットワーク上のすべての SQL Anywhere データベース・サーバをリストして、dblocate ユーティリティによって表示される情報にプログラムからアクセスできるようにします。

コールバック関数には、次のプロトタイプが必要です。

int (*)( SQLCA * sqlca,
a_server_address * server_addr,
void * callback_user_data );

コールバック関数は、検出されたサーバごとに呼び出されます。コールバック関数が 0 を返すと、db_locate_servers はサーバ間の反復を中止します。

コールバック関数に渡される sqlca と callback_user_data は、db_locate_servers に渡されるものと同じです。2 番目のパラメータは a_server_address 構造体へのポインタです。a_server_address は sqlca.h で次のように定義されています。

typedef struct a_server_address {
    a_sql_uint32 port_type;
    a_sql_uint32 port_num;
    char         *name;
    char         *address;
} a_server_address;
  • port_type   この時点では常に PORT_TYPE_TCP です (sqlca.h では 6 に定義されています)。

  • port_num   このサーバが受信している TCP ポート番号です。

  • name   サーバ名があるバッファを指します。

  • address   サーバの IP アドレスがあるバッファを指します。

正常終了すると 1 を返し、それ以外は 0 を返します。

参照