1. 程式人生 > >db2客戶端因埠問題連線不上db2資料庫解決辦法

db2客戶端因埠問題連線不上db2資料庫解決辦法

1. 使用db2例項使用者在伺服器執行,檢視db2的tcpip服務名稱:

linux:db2 get dbm cfg | grep -i "SVCENAME"

windows:db2 get dbm cfg | find "SVCENAME"

執行結果:

D:\Program Files\IBM\SQLLIB\BIN>db2 get dbm cfg | find "SVCENAME"
 TCP/IP 服務名稱                              (SVCENAME) = db2c_DB2

2.查詢tcpip服務對應的埠:
linux:grep db2c_DB2 /etc/services
windows:find "db2c_DB2" c:\windows\system32\drivers\etc\services

執行結果:

D:\Program Files\IBM\SQLLIB\BIN>find "db2c_DB2" c:\windows\system32\drivers\etc\services
---------- C:\WINDOWS\SYSTEM32\DRIVERS\ETC\SERVICES
db2c_DB2        50000/tcp

3.檢視該埠是否被監聽:

linux:netstat -an | grep 50000

windows:netstat -an | find "50000"

執行結果(埠有被監聽):

D:\Program Files\IBM\SQLLIB\BIN>netstat -an | find "50000"
  TCP    0.0.0.0:50000          0.0.0.0:0              LISTENING
  TCP    [::]:50000             [::]:0                 LISTENING

4.檢視例項所用的通訊協議
db2set -all

執行結果:

D:\Program Files\IBM\SQLLIB\BIN>db2set -all
[e] DB2PATH=D:\Program Files\IBM\SQLLIB
[i] DB2ACCOUNTNAME=PC-201509260051\db2admin
[i] DB2INSTOWNER=PC-201509260051
[i] DB2PORTRANGE=60000:60003
[i] DB2INSTPROF=C:\PROGRAMDATA\IBM\DB2\DB2COPY1
[i] DB2COMM=TCPIP --如果未設定這個,就會導致連線失敗
[g] DB2_EXTSECURITY=YES
[g] DB2SYSTEM=PC-201509260051
[g] DB2PATH=D:\Program Files\IBM\SQLLIB
[g] DB2INSTDEF=DB2
[g] DB2ADMINSERVER=DB2DAS00

5.設定例項所用通訊協議:

db2set DB2COMM=TCPIP

6.重新啟動db2服務即可:

db2stop

db2start