2011-11-23 30 views
17

Tôi phải tạo kết nối DB2 bằng java sử dụng số cổng. Có lệnh nào trong DB2 hay bất kỳ cách nào có thể lấy số cổng DB2?Cách xác định số cổng DB2

Tôi chưa sử dụng cổng mặc định 50000 trong khi tạo kết nối DB2 vì cổng này có thể được thay đổi trong khi cài đặt DB2. Vui lòng đề xuất bất kỳ lệnh DB2 nào hoặc bất kỳ phương án thay thế nào khác.

+2

nếu bạn đang ở trên một linux bạn có thể thử 'netstat -pn | grep -i db' để liệt kê tất cả các cổng mà DB2 đang nghe. –

+0

Tôi đã tìm ra một thứ tương tự cho Windows. –

Trả lời

29

Trên máy chủ DB2 Windows, mở một cửa sổ lệnh DB2 và thực hiện lệnh

db2 get database manager configuration | findstr /i svce 

này nên cung cấp một số đầu ra như:

TCP/IP Service name       (SVCENAME) = db2c_DB2 
SSL service name       (SSL_SVCENAME) = 

SVCENAME là cổng mà DB2 đang lắng nghe trên. Để giải quyết tên này thành một số cổng thực, bạn cần tham khảo tệp dịch vụ có tại %SystemRoot%\system32\drivers\etc\services.

+3

Điều này chỉ hoạt động đối với phiên bản hiện tại. Cần phải đính kèm vào mỗi cá thể trong máy chủ để biết tất cả các cổng cho các cá thể DB2 được định nghĩa trong tệp "services". – AngocA

+0

Ở trên không hoạt động. –

+0

@DurgadasKamath Care để xây dựng? –

5

Trên máy chủ DB2/Linux DB2, mở một trình bao ghép và đăng nhập với chủ sở hữu cá thể. Thực hiện lệnh dưới đây:

 db2 "get dbm cfg"|grep -i svce 

Giống như câu trả lời của Ian Bjorhvde bạn hiển thị tên TCP/IP Dịch vụ, SVCENAME bạn có thể xem trong file/etc/dịch vụ.

+0

Điều này chỉ hoạt động đối với phiên bản hiện tại. Nếu cần thiết phải thay đổi từng trường hợp để có được tên dịch vụ và khớp nó trong tệp dịch vụ. – AngocA

3

Có thể bạn có các trường hợp khác nhau trong máy chủ của mình, điều đó có nghĩa là DB2 đang nghe ở các cổng khác nhau. Trước tiên, bạn phải liệt kê các phiên bản trong máy chủ

db2ilist 

Bạn sẽ nhận được một tập hợp các tên mẫu. Đối với mỗi một trong những bạn phải lấy tên cổng

của Windows

set DB2INSTANCE=instname 
db2 get dbm cfg 

Linux

export DB2INSTANCE=instname 
db2 get dbm cfg 

Nếu bạn không thay đổi Ví dụ, bạn sẽ chỉ nhận được tên dịch vụ của instance hiện hành. Một cách khác để lấy thông tin đó từ máy khách là thông qua Trình trợ lý Cấu hình (db2ca). Với chế độ xem nâng cao, bạn nhấp chuột phải vào một cá thể và sau đó bạn sẽ nhận được thông tin chi tiết về cá thể: số cổng, tên dịch vụ, v.v.

0

Điều này sẽ cung cấp cho các cổng của tất cả cá thể db2 được cài đặt trên máy (cho Hệ thống Linux hoặc AIX)

netstat -aan | grep -i db2 
9

Đi tới dấu nhắc lệnh DB2.

Issue lệnh để có được những ví dụ db2

Command: db2 get instance

Issue lệnh để tìm tên dịch vụ TCP/IP

Command: db2 get dbm cfg | grep SVCE

Ví dụ

db2 get dbm cfg | grep SVCE

TCP/Service name IP (SVCENAME) = db2c_db2inst9 Tên dịch vụ TCP/IP là "db2c_db2inst9"

Sử dụng tên dịch vụ TCP/IP để tìm số cổng trong thư mục/etc/dịch vụ tập tin

Command: grep TCP/IPservicename/etc/services

Thay đổi TCP/IPservicename với tên dịch vụ hiện tại.

Ví dụ

grep db2c_db2inst9/etc/services

db2c_db2inst9 50.090/tcp

Thể hiện DB2 đang chạy trên số cổng

+0

Điều này làm việc cho tôi chỉ bằng cách sử dụng: db2 get dbm cfg. Sau đó đọc xuống một chút, tôi nhìn thấy cổng của tôi, đó là 50000. – Airborne

Các vấn đề liên quan