我必须使用端口号在java中建立DB2连接。 DB2中是否有任何命令或任何可以获取DB2端口号的方法?
在建立DB2连接时我没有使用默认端口50000,因为在DB2安装期间可以更改此端口。 请建议任何DB2命令或任何其他替代方法。
答案 0 :(得分:31)
在Windows DB2服务器上,打开DB2命令窗口并执行命令
db2 get database manager configuration | findstr /i svce
这应该提供一些输出,如:
TCP/IP Service name (SVCENAME) = db2c_DB2
SSL service name (SSL_SVCENAME) =
SVCENAME是DB2正在侦听的端口。要将此名称解析为实际端口号,您需要引用位于%SystemRoot%\system32\drivers\etc\services
的服务文件。
答案 1 :(得分:12)
转到DB2命令提示符。
发出命令以获取db2实例
命令: db2 get instance
发出命令以查找TCP / IP服务名称
命令: db2 get dbm cfg | grep SVCE
示例
db2 get dbm cfg | grep SVCE
TCP / IP服务名称(SVCENAME)= db2c_db2inst9 TCP / IP服务名称为" db2c_db2inst9 "
使用TCP / IP服务名称在/ etc / services文件中查找端口号
命令: grep TCP / IPservicename / etc / services
使用当前服务名称更改 TCP / IPservicename 。
示例
grep db2c_db2inst9 / etc / services
db2c_db2inst9 50090 / tcp
DB2实例正在端口号 50090
上运行答案 2 :(得分:6)
在Linux / Unix DB2服务器上,打开shell终端并使用实例所有者登录。执行以下命令:
db2 "get dbm cfg"|grep -i svce
与Ian Bjorhvde的答案一样,您显示了TCP / IP服务名称, 您可以在/ etc / service文件中查看SVCENAME。
答案 3 :(得分:3)
您的服务器中可能有不同的实例,这意味着DB2正在侦听不同的端口。 首先,您必须列出服务器中的实例
db2ilist
您将获得一组实例名称。对于每一个,您必须获得端口名称
窗
set DB2INSTANCE=instname
db2 get dbm cfg
Linux的
export DB2INSTANCE=instname
db2 get dbm cfg
如果不更改实例,则只能获取当前实例的服务名称。 从客户端获取该信息的另一种方法是通过Configuration Assistant(db2ca)。使用高级视图,您右键单击实例,然后您将获得实例的详细信息:端口号,服务名称等。
答案 4 :(得分:0)
这将为计算机上安装的所有db2实例(对于Linux或AIX系统)提供端口
netstat -aan | grep -i db2