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

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - Programmierung » SQL Anywhere Datenzugriff-APIs » SQL Anywhere Embedded SQL » Referenz der Bibliotheksfunktionen

 

db_locate_servers_ex-Funktion

Prototyp
unsigned int db_locate_servers_ex(
SQLCA * sqlca,
SQL_CALLBACK_PARM callback_address,
void * callback_user_data, 
unsigned int bitmask);
Beschreibung

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).