Je dois établir une connexion DB2 en Java à l'aide du numéro de port . Existe-t-il une commande dans DB2 ou un moyen d'obtenir le numéro de port DB2?
Je n'ai pas utilisé le port par défaut 50000 lors de la connexion à DB2 car ce port peut être modifié lors de l'installation de DB2.
Sur le serveur Windows DB2, ouvrez une fenêtre de commande DB2 et exécutez la commande.
db2 get database manager configuration | findstr /i svce
Cela devrait fournir des résultats comme:
TCP/IP Service name (SVCENAME) = db2c_DB2
SSL service name (SSL_SVCENAME) =
SVCENAME est le port sur lequel DB2 écoute. Pour résoudre ce nom en un numéro de port réel, vous devez vous reporter au fichier de services situé à l'adresse %SystemRoot%\system32\drivers\etc\services
.
Accédez à l'invite de commande DB2.
Émettez la commande pour obtenir l'instance db2
Commande: db2 get instance
Emettez la commande pour trouver le nom du service TCP/IP
Commande: db2 get dbm cfg | grep SVCE
Exemple
db2 get dbm cfg | grep SVCE
Nom du service TCP/IP (SVCENAME) = db2c_db2inst9 Le nom du service TCP/IP est " db2c_db2inst9 "
Utilisez le nom du service TCP/IP pour rechercher le numéro de port dans le fichier/etc/services.
Commande: grep TCP/IPservicename/etc/services
Modifiez TCP/IPservicename avec le nom du service actuel.
Exemple
grep db2c_db2inst9/etc/services
db2c_db2inst9 50090/tcp
L'instance DB2 s'exécute sur le numéro de port 50090
Sur le serveur Linux/Unix DB2, ouvrez un terminal Shell et connectez-vous avec le propriétaire de l'instance. Exécutez la commande ci-dessous:
db2 "get dbm cfg"|grep -i svce
Comme la réponse de Ian Bjorhvde, vous affichez le nom du service TCP/IP, SVCENAME, que vous pouvez afficher dans le fichier/etc/service.
Vous avez probablement plusieurs instances sur votre serveur, ce qui signifie que DB2 est à l’écoute sur différents ports . Vous devez d’abord répertorier les instances du serveur.
db2ilist
Vous obtiendrez un ensemble de noms d'instance. Pour chacun, vous devez obtenir le nom du port
Les fenêtres
set DB2INSTANCE=instname
db2 get dbm cfg
Linux
export DB2INSTANCE=instname
db2 get dbm cfg
Si vous ne modifiez pas l'instance, vous n'obtiendrez que le nom du service de l'instance actuelle . Un autre moyen d'obtenir ces informations du client consiste à utiliser l'Assistant de configuration (db2ca). Avec l'affichage avancé, vous faites un clic droit sur une instance, puis vous obtiendrez les détails de l'instance: numéro de port, nom du service, etc.
Cela donnera les ports de toutes les instances de DB2 installées sur la machine (pour les systèmes Linux ou AIX)
netstat -aan | grep -i db2