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 - Datenbankadministration » Datenbank starten und Verbindung mit ihr herstellen » Verbindungsparameter und Netzwerkprotokolloptionen » Netzwerkprotokolloptionen

 

ServerPort-Protokolloption [PORT]

Gibt den Port an, auf dem der Datenbankserver läuft

Verwendungszweck

TCP/IP, HTTP, HTTPS

Werte

Ganzzahl

Standardwert

Der Standardwert für TCP/IP ist 2638. Der Standardwert für HTTP ist 80. Der Standardwert für HTTPS ist 443.

Bemerkungen

Die IANA (Internet Assigned Numbers Authority) hat dem SQL Anywhere-Datenbankserver die Portnummer 2638 für die TCP/IP-Kommunikation zugeordnet. Es ist anderen Anwendungen jedoch nicht verboten, diesen reservierten Port zu verwenden, und dies könnte eine Adressenkollision zwischen dem Datenbankserver und einer anderen Anwendung verursachen.

Im Fall des Datenbankservers weist die ServerPort-Protokolloption die Portnummer zu, um mithilfe von TCP/IP zu kommunizieren. Sie können eine einzelne Portnummer, eine Kombination einzelner Portnummern oder Bereiche von Portnummern angeben. Zum Beispiel:

Wenn Sie eine Liste und/oder einen Bereich von Portnummern angeben, versucht der Datenbankserver, alle angegebenen Portnummern zu binden.

Der Datenbankserver wartet stets an Port 2638 ab, auch wenn Sie einen anderen Port festlegen, indem Sie eine Netzwerkprotokolloption verwenden. Anwendungen können sich mit dem Datenbankserver verbinden, ohne dass eine Portnummer angegeben wird. Durch die Verfügbarkeit des Ports können SQL Anywhere-Clients SQL Anywhere-Server finden, die in anderen Subnetzen und hinter Firewalls laufen.

Bei einem Client informiert die ServerPort-Protokolloption den Client über den Port, über den Datenbankserver auf TCP/IP-Kommunikationen warten. Der Client sucht an jedem in der Protokolloption ServerPort (PORT) angegebenen Port nach dem Server.

Wenn Sie einen Webserver verwenden, wartet der Datenbankserver standardmäßig an den Standard HTTP- und HTTPS-Ports 80 und 443 auf Anfragen.

Wenn Sie einen Datenbankserver mit der TCP/IP-Portnummer 2638 starten (der Standardwert), wartet der Server auch am UDP-Port 2638 ab. Der Datenbankserver überwacht UDP-Ports und reagiert auf Anforderungen an diese Ports, damit Clients den Datenbankserver anhand des Servernamens lokalisieren können.

Wenn die TCP/IP-Portnummer des Datenbankservers nicht 2638 ist, wartet der Server gleichermaßen am UDP-Port wie am TCP/IP-Port.

UDP-Pakete, die vom Datenbankserver als Antwort auf Client-Broadcasts gesendet werden, enthalten keine sensitiven Daten. Die Daten in diesen Paketen sind auf folgende Informationen beschränkt:

Sie können Datenbanknamen vor Broadcast-Anforderungen verbergen, indem Sie die Option -dh verwenden. Sie können auch -sb 0 angeben, um die UDP-Listener komplett auszuschalten.

Unterschiede unter Mac OS X

Mac OS X erlaubt es nicht, dass mehrere Prozesse denselben UDP-Port binden. Wenn ein Datenbankserver auf einer dieser Plattformen läuft, wartet er nur am angegebenen UDP-Port bzw. Port 2638, wenn kein Port angegeben ist.

Das bedeutet, dass Clients die TCP/IP-Portnummer angeben müssen, wenn der Server nicht den Standardport (2638) verwendet.

Wenn der Datenbankserver zum Beispiel mit dem Befehl dbsrv11 -n MyServer Beispielverzeichnis/demo.db gestartet wird, kann ein Client in demselben Subnetz den Server finden, indem die Verbindungsparameter ENG=MyServer;LINKS=tcpip verwendet werden. Wenn ein anderer Server auf Mac OS X mit dem Befehl dbsrv11 -n SecondServer -x tcpip(PORT=7777) ) Beispielverzeichnis/demo.db gestartet wird, kann ein Client in demselben Subnetz den Server finden, indem die Verbindungsparameter ENG=SecondServer;LINKS=tcpip(PORT=7777) verwendet werden. Beachten Sie, dass der Client nicht den PORT-Parameter angeben muss, wenn der Datenbankserver auf einer anderen Plattform als Mac OS X läuft.

Zusätzlich gilt: Wenn auf Mac OS X ein SQL Anywhere-Datenbankserver bereits Port 2638 verwendet und ein zweiter Datenbankserver ohne die PORT-Protokolloption gestartet wird, schlägt das Starten des zweiten Datenbankservers fehl. Daher müssen Benutzer die Portnummer des Servers kennen und sie in Ihren Verbindungsparametern angeben. Personal Server starten erfolgreich, sogar wenn Port 2638 in Verwendung ist, weil zum Verbinden mit Personal Servern gewöhnlich ein gemeinsam genutzter Speicher verwendet wird.

Siehe auch
Beispiel

Das folgende Beispiel zeigt, wie Sie die PORT-Protokolloption verwenden, um den Port anzugeben, auf dem der Server startet.

  1. Starten eines Netzwerk-Datenbankservers:

    dbsrv11 -x tcpip -n server1

    Portnummer 2638 wird nun genommen.

  2. Versuch, einen anderen Datenbankserver zu starten:

    dbsrv11 -x tcpip -n server2

    Der Standardport ist derzeit zugeordnet, und daher startet der Server auf einem anderen Port. Unter Mac OS X schlägt dies fehl.

  3. Wenn ein anderer Webserver auf Ihrem Computer bereits Port 80 verwendet oder Sie nicht die Berechtigung haben, einen Server auf einer so niedrigen Portnummer zu starten, können Sie einen Server starten, der auf einem anderen Port auf Abfragen wartet, z.B. 8080:

    dbsrv11 -xs http(port=8080) -n server3 web.db