unsigned int db_locate_servers_ex( SQLCA * sqlca, SQL_CALLBACK_PARM callback_address, void * callback_user_data, unsigned int bitmask);
Bietet programmatischen Zugriff auf die vom Befehlszeilen-Dienstprogramm dblocate angezeigten Daten und listet alle SQL Anywhere-Datenbankserver mit TCP/IP-Anschluss im lokalen Netzwerk auf, und bietet einen Mask-Parameter, der benutzt wird, um Adressen auszuwählen, die an die Callback-Funktion weitergegeben werden.
Die Callback-Funktion muss folgende Syntax haben:
int (*)( SQLCA * sqlca, a_server_address * server_addr, void * callback_user_data );
Die Callback-Funktion wird für jeden gefundenen Server ausgeführt. Wenn die Callback-Funktion den Wert "0" zurückgibt, stoppt db_locate_servers_ex die Suche nach Servern.
Die an die Callback-Funktion übergebenen Parameter sqlca und callback_user_data sind dieselben, die an db_locate_servers übergeben wurden. Der zweite Parameter ist ein Zeiger auf eine a_server_address-Struktur. a_server_address wird mit folgender Definition in sqlca.h festgelegt:
typedef struct a_server_address { a_sql_uint32 port_type; a_sql_uint32 port_num; char *name; char *address; char *dbname; } a_server_address; |
port_type Ist hier immer PORT_TYPE_TCP (laut Definition 6 in sqlca.h)
port_num Ist die TCP-Portnummer, die der Server abhört
name Zeigt auf einen Puffer, der den Servernamen enthält
address Zeigt auf einen Puffer, der die IP-Adresse des Servers enthält
dbname Zeigt auf einen Puffer, der den Datenbanknamen enthält
Drei Bitmask-Optionen werden unterstützt:
Diese Optionen sind in sqlca.h definiert und können durch OR verknüpft werden.
DB_LOOKUP_FLAG_NUMERIC stellt sicher, dass Adressen, die an die Callback-Funktion übergeben werden, anstelle von Hostnamen IP-Adressen sind.
DB_LOOKUP_FLAG_ADDRESS_INCLUDES_PORT legt fest, dass die Adresse in der Struktur a_server_address, die an die Callback-Funktion übergeben wird, die TCP/IP-Portnummer enthält.
DB_LOOKUP_FLAG_DATABASES legt fest, dass die Callback-Funktion für jede gefundene Datenbank einmal aufgerufen wird oder einmal für jeden gefundenen Datenbankserver, wenn der Datenbankserver das Senden von Datenbankinformationen nicht unterstützt (Version 9.0.2 und frühere Datenbankserver).
Gibt 1 zurück, wenn erfolgreich, andernfalls 0.
Weitere Hinweise finden Sie unter Dienstprogramm für die Serverauflistung (dblocate).
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |